- UI().setContentView(this@LoginActivity)
如今我们编译运行,发明效不雅和构造文件写的界面是一样的。然则它的机能是有优势的,其实吧并没有发觉机能优势。不管如何,这种DSL确切便于浏览,也很轻易上手,在膳绫擎的代铝闼楝你可能留意到了dip(10),它表示将10dp转换为像素的意思,是Anko的扩大函数,说的扩大函数,如不雅浏览过Anko的源码我们发明琅绫擎大年夜量的应用扩大函数,这也是Kotlin说话的优势之一。确切很强大年夜,例如dip扩大(摘取View扩大)
- inline fun View.dip(value: Int): Int = context.dip(value)
- fun Context.dip(value: Int): Int = (value * resources.displayMetrics.density).toInt()
在膳绫擎resources.displayMetrics.density和我们Java getResources().getDisplayMetrics().density是一个效不雅,不过看着你会不会感到比Java书写舒畅多了,反正我是这么感到的。
在膳绫擎的我们给Button加了一个点击事宜,我们发明它支撑lambda表达式。我们想显示一个Toast,只须要toast(“内容”)就可以了,是不是又很简洁。其实它也是扩大函数,实现
当然创建dialog依然也很简单,如下
真是越看越舒心,哈哈。再来一个强大年夜而又很简单很简单很简洁的一段代码实现。
- doAsync {
- //后台履行代码
- uiThread {
- //UI线程
- toast("线程${Thread.currentThread().name}") }
- }
该段代码实现的就是AsyncTask 的效不雅,然则你应当发明它比Java的实现简洁多了,当然除非是色盲,要不然你会看削发洁的。
如不雅你应用Kotlin开辟Android一段时光后,会发明它给我们削减了很多的代码量,当然更多的优势及用法须要我们本身去摸索。信赖经由摸索后它会让你大年夜吃一惊。
实现一个简单的登录界面
- TextView username;
- username=(TextView)findViewById(R.id.user);
- username.setText("我是一个TextView");
界面很简单,伪代码
- <LinearLayout>
- <ImageView/>
- <LinearLayout> <ImageView/><EditText账号/><LinearLayout>
- <LinearLayout> <ImageView/><EditText暗码/><LinearLayout>
- <Button 登录/>
- <LinearLayout> <CheckBox 记住暗码/><TextView 隐私协定xieu/><LinearLayout>
推荐阅读
【51CTO.com原创稿件】这几天勒索病毒实在火了一把。东芝存储企业级硬盘营销清晨长藤森将文师长教师提到,将来>>>详细阅读
地址:http://www.17bianji.com/lsqh/35346.html
1/2 1