用Anko和Kotlin实现Android上的对话框和警告提示(KAD 24)
作者:Antonio Leiva
时间:Mar 9, 2017
原文链接:https://antonioleiva.com/dialogs-android-anko-kotlin/
借助Builder,在Android创建警告提示和对话框相对来说是件简单的事,但是由于语言繁杂,有些提示通常就变得十分含糊。
在Kotlin中,仅Lambda表达式,可以帮助我们理解一点代码是怎样处理的。
但是,有了Anko,我们能够这一切都更加简单,在这篇文章中我们看到是怎么回事。
在Kotlin用Anko做警告提示
通过Anko编写警告提示是非常容易的。只需要创建一个alert代码块:
1 alert("Testing alerts") { 2 ... 3 }.show()
在这个代码块中,你能够规定一些事情,如提示的标题,或你要显示的按钮:
1 alert("Testing alerts") { 2 title("Alert") 3 yesButton { toast("Yess!!!") } 4 noButton { } 5 }.show()
这块代码的结果是这样的:
你还可以用positiveButton
、negativeButton
和neutralButton
方法定制一些动作:
1 alert("Testing alerts") { 2 title("Alert") 3 positiveButton("Cool") { toast("Yess!!!") } 4 negativeButton("Never Ever") { } 5 neutralButton("I'll think about it") 6 }.show()
当然,你甚至还能通过Anko加定制的视图:
1 alert { 2 title("Alert") 3 positiveButton("Cool") { toast("Yess!!!") } 4 customView { 5 linearLayout { 6 textView("I'm a text") 7 button("I'm a button") 8 padding = dip(16) 9 } 10 } 11 }.show()
进度对话框
Anko还有另一特性,可以创建进度对话框,和不确定进度。
这里给出第二例子,你能够用这样一个简单的方法,创建进度对话框:
1 indeterminateProgressDialog("This a progress dialog").show()
其结果如下:
结论
由于有了Anko和Kotlin,如你所见创建小的DSL是件简单的事。理想情况下,你可以在框架的任何一个部分创建DSL,所以它使得交互非常容易。
在稍后的文章中,我们说明怎样通过SQLite处理数据库。
现在,是否该阅读免费使用指南,来学习如何构建你的第一个项目?或是读本书,学习如何从头开始创建一个完整的应用程序?
转载于:https://www.cnblogs.com/figozhg/p/6854179.html
用Anko和Kotlin实现Android上的对话框和警告提示(KAD 24)相关推荐
- 使TextView在Android上可滚动
我在textview中显示的文本似乎太长,无法容纳在一个屏幕中. 我需要使TextView可滚动. 我怎样才能做到这一点? 这是代码: final TextView tv = new TextView ...
- 我被 Kotlin 和 Android 两个官方约谈了
跟 Kotlin 和 Android 官方聊了聊 大家好,我是扔物线朱凯. 废话不多说,这次我邀请到了 JetBrains 的范圣佑和 Google Android 团队的 Fred 来到我的视频里, ...
- android 协程,Android 上的 Kotlin 协程
协程是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码.协程是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念. 在 Android 上,协程有助于 ...
- Kotlin转向谷歌云平台,因此开发人员可以像在Android上一样喜欢它。Kotlin是Android开发者的宠儿语言。...
image [中文翻译在后面] Android developers love Kotlin. Google can tell us that 27% of the top 1,000 Android ...
- Kotlin on Android 开发环境介绍
Kotlin 被 Google 采纳为 Android 开发一级编程语言,到现在也一年多了,我们团队从去年 10 月份开始部分项目尝试用 Kotlin 开发,到现在决定推广到全部项目,因为一旦用上 K ...
- 使用Kotlin开发Android应用初体验
使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...
- 第14章 使用Kotlin 进行 Android 开发
2019独角兽企业重金招聘Python工程师标准>>> 第14章 使用Kotlin 进行 Android 开发 根据Realm Report (2017-Q4,https://rea ...
- 如何在Android上显示警报对话框?
我想显示一个对话框/弹出窗口,并向用户显示"您确定要删除此条目吗?"的消息. 一个带有"删除"按钮. 触摸Delete ,它应删除该条目,否则不删除任何条目. ...
- 使用Kotlin的Android ListView
In this tutorial, we'll implement ListView in our Android apps using Kotlin. 在本教程中,我们将使用Kotlin在Andro ...
最新文章
- linux c 得到指定进程内存占用
- sqlite3 C接口基础
- 每天学一点儿shell:Linux三剑客——grep命令
- 华为云welink考试试题_华为内部开启WeLink项目,华为云是这样考虑的-通信/网络-与非网...
- MyBatis关联查询,表字段相同,resultMap映射问题的解决办法
- sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql
- 【python】内存相关
- Quote Form OnLoad Implement Add Leftnav, count Activities
- 华硕笔记本 X550JD4710HQ
- C#编程(二十三)----------实现继承
- Oracle查询结果随机排序(去重,抽检)
- 基于 Django 的图书馆借阅系统
- html 菜鸟驿站,菜鸟驿站
- android 去掉google搜索,Android 7.1 去掉桌面上的谷歌搜索框
- Java解决vue跨域问题
- 基于PHP的酒店住宿管理系统 毕业设计源码261455
- iOS设备指纹的前世今生
- 传统企业如何应对数字化转型?这篇文章给你答案
- Redis基础与高可用集群架构进阶详解
- Acala TC4 糖果节历程总结