今年IO大会垫底了kotlin的地位,所有从事android开发的人们忙碌了起来!作为一名android工程师怎么能对自己的主语言不了解呢?这不我也就加入到kotlin学习大军.
网上对与kotlin学习的资料是蛮多的,当然这是一件好事,但同时多了就杂,杂了就乱,这里推荐一个本书链接:https://www.gitbook.com/book/wangjiegulu/kotlin-for-android-developers-zh/details 《Kotlin for android developers》中文翻译版,
当然我是翻墙看的,不会翻墙的同学请私密我.ok废话不多说撸起代码.
环境配置: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代码了;
先看一下我们要实现的效果:
相信作为android程序员对这个场景是非常熟悉的底部导航我使用的是BottomNavigationView; 它有个坑爹的地方就是如果你的icon大于3,系统会给你默认加上动画(好丑!!),你需要设置 enableAnimation(false) ;enableShiftingMode(false);enableItemShiftingMode(false);
but你并设置不了因为它们都是私有方法,这里坑定有小伙伴想到反射,不错反射是可以的,我这里是写一个类继承BottomNavigationView,然后将BottomNavigationView的代码copy过来设置那3个方法为public 就ok了;
来说说koltin吧,它支持lamda表达式,并且比lamda更加简化比如设置点击事件你只需要text_show.setOnClickListener{dosome()} ,
创建java对象 class Person(name :String , age :Int) 使用对象你只需要 val person = Person("张三",23)
用when(){} 代替的 switch的用法,有兴趣的可以看一下上面书的介绍,这里就不在过多的举例了.
想看代码的同学可以到github地址:https://github.com/ViewMikeZhou/kotlinDemo ,只是初体验,代码还很简单,后期会持续跟新,欢迎大家和我一起学习.