? ? 今年IO大會墊底了kotlin的地位,所有從事android開發(fā)的人們忙碌了起來!作為一名android工程師怎么能對自己的主語言不了解呢?這不我也就加入到kotlin學習大軍.
? ? ? 網(wǎng)上對與kotlin學習的資料是蠻多的,當然這是一件好事,但同時多了就雜,雜了就亂,這里推薦一個本書鏈接:https://www.gitbook.com/book/wangjiegulu/kotlin-for-android-developers-zh/details? ? ? 《Kotlin for android developers》中文翻譯版,
當然我是翻墻看的,不會翻墻的同學請私密我.ok廢話不多說擼起代碼.
? ? ? ?環(huán)境配置:android studio3.0不用任何配置就可以完美支持kotlin這里就不多說了;如果你沒有升級到3.0你需要做一下幾步:
? ? ? ? ? ? ? ? ? ? ? 1. project級的buildgradle中 ?
? ? ? ? ? ? ? ? ? ? ? 2.app級的buildgradle中
? ? ? ? ? ? ? ? 3.添加依賴? compile"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
? ? ? ? ? ? ? ? 4.在setting -> plug -> 搜索 kotlin 下載插件
ok完成以上幾步就可以寫koltin代碼了;
? ? ? ? ? ? ? 先看一下我們要實現(xiàn)的效果:
? ? ? 相信作為android程序員對這個場景是非常熟悉的底部導航我使用的是BottomNavigationView; 它有個坑爹的地方就是如果你的icon大于3,系統(tǒng)會給你默認加上動畫(好丑!!),你需要設置? enableAnimation(false)? ;enableShiftingMode(false);enableItemShiftingMode(false); ??
but你并設置不了因為它們都是私有方法,這里坑定有小伙伴想到反射,不錯反射是可以的,我這里是寫一個類繼承BottomNavigationView,然后將BottomNavigationView的代碼copy過來設置那3個方法為public 就ok了;
? ? ? 來說說koltin吧,它支持lamda表達式,并且比lamda更加簡化比如設置點擊事件你只需要text_show.setOnClickListener{dosome()} ,
? ? ? 創(chuàng)建java對象 ? class Person(name :String , age :Int) ? ? 使用對象你只需要 val person = Person("張三",23)
? ? ? 用when(){} ?代替的 switch的用法,有興趣的可以看一下上面書的介紹,這里就不在過多的舉例了.?
? ? ? 想看代碼的同學可以到github地址:https://github.com/ViewMikeZhou/kotlinDemo ,只是初體驗,代碼還很簡單,后期會持續(xù)跟新,歡迎大家和我一起學習.