COMPUTER

코틀린 스터디 중 기록

Menifest.xml

<activity android:name=".SplashActivity">
	<intent-filter>
		<action android:name="android.intent.action.MAIN"/>
		<category android:name="android.intent.category.LAUNCHER"/>
	</intent-filter>
</activity>
<activity android:name=".MainActivity"></activity>

SplashActivity.kt

class SplashActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)

        startLoading()
    }
    private fun startLoading() {
        val handler = Handler()
        handler.postDelayed(Runnable {
            val intent = Intent(this, MainActivity::class.java)
            startActivity(intent)
            finish()
        }, 2000)
    }
}

'COMPUTER > Kotlin' 카테고리의 다른 글

코틀린 - TabLayout  (0) 2019.07.10

코틀린 - TabLayout

2019. 7. 10. 14:00

스터디 중 기록.

build.gradle

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.android.support:design:28.0.0'
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.design.circularreveal.CircularRevealRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v4.view.ViewPager
    android:id="@+id/viewpager_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:tabMode="fixed"/>

    <android.support.design.widget.TabLayout
    android:id="@+id/tabs_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"/>
</android.support.design.circularreveal.CircularRevealRelativeLayout>

탭 내부 fragment xml x 3

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             xmlns:tools="http://schemas.android.com/tools"
             android:layout_width="match_parent"
             android:layout_height="match_parent">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="First tab"
            android:textSize="40sp"/>

</FrameLayout>

탭 내부 fragment Kotlin x 3

class FirstFragment : Fragment() {


    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
return inflater!!.inflate(R.layout.fragment_first, container, false)
}

PagerAdapter Kotlin

class MyPagerAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm){
    class FragmentInfo(val iconOnResId: Int, val iconOffResId: Int, val titleText: String, val fragment: Fragment)

    private val mFragmentInfoList = ArrayList<FragmentInfo>()

    fun addFragment(iconOnResID:Int, iconOffResID:Int, title: String, fragment:Fragment){
        val info = FragmentInfo(iconOnResID, iconOffResID, title,fragment)
        mFragmentInfoList.add(info)
    }

    override fun getItem(position: Int): Fragment {
        return mFragmentInfoList[position].fragment
    }

    override fun getCount(): Int {
        return mFragmentInfoList.size
//        return 3
    }

    override fun getPageTitle(position: Int): CharSequence {
        return mFragmentInfoList[position].titleText
    }

}

MainActivity Kotlin

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val fragmentAdapter = MyPagerAdapter(supportFragmentManager)

        fragmentAdapter.addFragment(R.drawable.home2,R.drawable.home,"Page11",FirstFragment())
        fragmentAdapter.addFragment(R.drawable.mypage2,R.drawable.mypage,"Page2",SecondFragment())
        fragmentAdapter.addFragment(R.drawable.soon2,R.drawable.soon,"Page3",ThirdFragment())
        viewpager_main.adapter = fragmentAdapter


        viewpager_main.addOnPageChangeListener(
            TabLayout.TabLayoutOnPageChangeListener(tabs_main))
        tabs_main.addOnTabSelectedListener(object:TabLayout.OnTabSelectedListener{
            override fun onTabSelected(tab: TabLayout.Tab) {
                var i = tab.position
                viewpager_main.currentItem = i
                tabIconSelect()
            }

            override fun onTabUnselected(tab: TabLayout.Tab) {
            }

            override fun onTabReselected(tab: TabLayout.Tab) {
            }
        })

        tabs_main.setupWithViewPager(viewpager_main)
        tabIconSelect()
    }

    fun tabIconSelect() {
        val tabBtnImgOff = intArrayOf(R.drawable.home, R.drawable.soon, R.drawable.mypage)
        val tabBtnImgOn = intArrayOf(R.drawable.home2, R.drawable.soon2, R.drawable.mypage2)

        for (i in 0..2) {
            val tab = tabs_main.getTabAt(i)!!
            if(tab.isSelected){
                tab.setIcon(tabBtnImgOn[i])
//                TabBtnText.get(i).setTextColor(resources.getColor(R.color.point))
            } else {
                tab.setIcon(tabBtnImgOff[i])
//                TabBtnText.get(i).setTextColor(resources.getColor(R.color.lightGray))
            }
        }
    }
}

참고 링크

https://m.blog.naver.com/PostView.nhn?blogId=pistolcaffe&logNo=220629248791&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

android design support library - TabLayout

이번 포스팅은 TabLayout 에 대한 내용입니다. 탭은 android 에서 앱의 최상위 탐색 수단 및 앱 내의 컨...

blog.naver.com

https://stackoverflow.com/questions/37235125/how-to-get-tab-click-event-in-activity-in-tablayout-android

 

How to get tab click event in activity in TabLayout android

This is implementation of onCreate function in my activity. I need to create the tabs dynamically. Here for simplicity i made 2 tabs. public class ActivityProductList extends AppCompatActivity { ...

stackoverflow.com

 

'COMPUTER > Kotlin' 카테고리의 다른 글

코틀린 - 로딩화면 만들기  (0) 2019.07.11

Atom 에서 FTP 사용하기

2017. 3. 28. 16:39

1. Atom 에서 Preferences... 클릭.




2. Install 탭을 클릭.


3. ftp 라고 입력한다.


4. Remote-FTP 를 install 한다.




5. 이리저리 설치를 하고 나면


이제 연결 설정을 해보자.


[Packages] - [Remote-FTP] - [Create FTP config file]


이렇게 하면 [.ftpconfig] 파일이 만들어진다.


6. 들어가는 내용


{


    "protocol": "ftp",


    "host": "주소",


    "port": 21,


    "user": "아이디",


    "pass": "비밀번호",


    "promptForPass": false,


    "remote": "/경로",


    "secure": false,


    "secureOptions": null,


    "connTimeout": 10000,


    "pasvTimeout": 10000,


    "keepalive": 10000,


    "watch": []


}

 




'COMPUTER > IDE' 카테고리의 다른 글

sublime text 2 - ftp setting  (0) 2016.07.21
brackets emmet setting  (2) 2016.07.19

swift image blur

2016. 10. 4. 20:17

   swift 2.0  


func applyBlurEffect(image: UIImage){

        let imageToBlur = CIImage(image: image)

        let blurfilter = CIFilter(name: "CIGaussianBlur")

        blurfilter.setValue(imageToBlur, forKey: "inputImage")

        let resultImage = blurfilter.valueForKey("outputImage") as CIImage

        let blurredImage = UIImage(CIImage: resultImage)

        return blurredImage

        

    }


   swift 3.0

    func applyBlurEffect(image: UIImage)->UIImage{

        let imageToBlur = CIImage(image: image)

        let blurfilter = CIFilter(name: "CIGaussianBlur")

        blurfilter?.setValue(imageToBlur, forKey: "inputImage")

        let resultImage = blurfilter?.value(forKey: "outputImage") as! CIImage

        let blurredImage = UIImage(ciImage: resultImage)

        return blurredImage

        

    }



more speed blur for UIImageView


            let darkBlur = UIBlurEffect(style: UIBlurEffectStyle.light)

            // 2

            let blurView = UIVisualEffectView(effect: darkBlur)

            blurView.frame = (UIImageViewVar?.bounds)!

            // 3

            UIImageViewVar?.addSubview(blurView)

'COMPUTER > swift' 카테고리의 다른 글

swift3 system log remove  (0) 2016.09.27
UiTableView에서 텍스트 양에 따라 크기 조절하기.  (0) 2016.09.21
uitableview 기타등등 기능.  (0) 2016.09.20
swift tab  (0) 2016.09.19
swift 간단 animation 효과  (0) 2016.08.10

swift3 system log remove

2016. 9. 27. 17:25

swift3

xcode8

system log


여기보고 했음

http://stackoverflow.com/questions/37800790/hide-strange-unwanted-xcode-8-logs


2016-06-13 16:33:34.406093 TestiOS10[8209:100611] bundleid: com.appc.TestiOS10, enable_level: 0, persist_level: 0, propagate_with_activity: 0
2016-06-13 16:33:34.406323 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.409564 TestiOS10[8209:100611] subsystem: com.apple.UIKit, category: HIDEvents, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.504117 TestiOS10[8209:100607] Created DB, header sequence number = 248
2016-06-13 16:33:34.548023 TestiOS10[8209:100607] subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0
2016-06-13 16:33:34.568458 TestiOS10[8209:100608] subsystem: com.apple.FrontBoard, category: Common, enable_level: 0, persist_level: 0, default_ttl: 0, info_ttl: 0, debug_ttl: 0, generate_symptoms: 0, enable_oversize: 0, privacy_setting: 0

 이런 에러 나올때



1.

 Xcode 메뉴 중 이렇게.




이런걸 써서 추가하면 안나옴

OS_ACTIVITY_MODE = disable


 - Product -> Scheme -> Edit Scheme


'COMPUTER > swift' 카테고리의 다른 글

swift image blur  (0) 2016.10.04
UiTableView에서 텍스트 양에 따라 크기 조절하기.  (0) 2016.09.21
uitableview 기타등등 기능.  (0) 2016.09.20
swift tab  (0) 2016.09.19
swift 간단 animation 효과  (0) 2016.08.10

http://www.appcoda.com/self-sizing-cells/

여기서 본걸로 해결.


텍스트 상하좌우 constraints를 주고

Lines 설정하는 것을 0으로 한뒤

-> 이거로도 되네. (     label!.numberOfLines = 0    )


셀크기를 유동적으로 변하게 하기 위해서 아래 코드를..

            self.tableView.estimatedRowHeight = 168.0

            self.tableView.rowHeight = UITableViewAutomaticDimension


요로코롬 하니. 내용에 따라 셀 크기가 변함.


UIlabel 크기도 변함.

'COMPUTER > swift' 카테고리의 다른 글

swift image blur  (0) 2016.10.04
swift3 system log remove  (0) 2016.09.27
uitableview 기타등등 기능.  (0) 2016.09.20
swift tab  (0) 2016.09.19
swift 간단 animation 효과  (0) 2016.08.10


                    swift2.0

구분선 제거

        tableView.separatorStyle = .None


:hover라 하기도 하고 selected 라고도 하는 선택된 셀 색상 color


        let bgColorView = UIView()

        bgColorView.backgroundColor = UIColor.blackColor()

        cell.selectedBackgroundView = bgColorView






                    swift3.0

구분선 제거

        tableView.separatorStyle = .none


:hover라 하기도 하고 selected 라고도 하는 선택된 셀 색상 color


        let bgColorView = UIView()

        bgColorView.backgroundColor = UIColor.black

        cell.selectedBackgroundView = bgColorView


선택된 셀 변화 안시키기


        cell.selectionStyle = .none

'COMPUTER > swift' 카테고리의 다른 글

swift3 system log remove  (0) 2016.09.27
UiTableView에서 텍스트 양에 따라 크기 조절하기.  (0) 2016.09.21
swift tab  (0) 2016.09.19
swift 간단 animation 효과  (0) 2016.08.10
API 호출시 UI 멈춤 해결  (1) 2016.07.28

swift tab

2016. 9. 19. 14:49

AppDelegate.swift.

이거에서



func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.

        UITabBar.appearance().translucent = false
        UITabBar.appearance().barTintColor = UIColor(rgba: "#12296f")
        UITabBar.appearance().tintColor = UIColor.whiteColor()

        return true
}

이로코롬.


UIColor(rgba: "#12296f")

이거는 안된다.


UIColor.

이렇게 쓰고 뒤에는 색상으로 해서 했다.


색상 자유롭게 하는거 찾아봐야지

+ Recent posts