kotlin安卓:每天一个组件 常用对话框

今天用到的是对话框(前排提示,导包时候注意,是原生包,不是V7的本文)

看看所有的按钮:kotlin安卓:每天一个组件 常用对话框_第1张图片

这里放一个代码循环设置监听器:

        val dia_1 = findViewById

首先说一下步骤:

一个按钮或者事件,启动对话框,对话框创建步骤如下:

1.通过AlertDialog.Builder(this)构造一个dialog对象。

2.通过dialog的方法设置属性,下面会具体介绍。

3.然后用create()方法生成,最后和Toast一样用show()调出啦。

kotlin可以用点语法直接设置属性,下面是最简单的一个对话框。

@1那传入一个lambda表达式

setNegativeButton("文”,{dialog,which -> xxx}),简化以后移到后面了

这里_和_是说明后面用不到这个参数

全文用了一个数组items是一个字符串数组,和一个封装的Toast方法tips(tip:String),略了哈

 var dialog = AlertDialog.Builder(this@Main9Activity)
                .setTitle("这是简单对话框!")
                 //这里说一下,设置取消按钮,这里传入一个lambda表达式@1
                .setNegativeButton("cancel"){
                    _,_ ->
                    tips("取消:简单对话框")}
                 //设置内容文本
                .setMessage("这是简短的内容").create().show()

效果图:

kotlin安卓:每天一个组件 常用对话框_第2张图片

接下来开始看看背的对话框:

列表对话框:

val items = arrayOf("1123","123234","11313")   
val dialog = AlertDialog.Builder(this@Main9Activity)
                dialog.setTitle("这是简单列表").setItems(items){
                    _,which ->
                    tips("你点击的是:${items[which]}")
                }.create().show()

预览图片:这里可以利用which获取数组下标,去做其他的事情。

kotlin安卓:每天一个组件 常用对话框_第3张图片

接下来是单选对话框:代码里items右面的参数是设置第几个为默认选中。

 val dialog1 = AlertDialog.Builder(this@Main9Activity)
                dialog1.setSingleChoiceItems(items,1){
                    dialog, which ->
                    val text = "你选中的是${items[which]}"
                    tips(text)

                }.create().show()

预览:单选图找不到了,用多选图吧,区别就是前面的选择图标

kotlin安卓:每天一个组件 常用对话框_第4张图片

下面是多选代码:参数,数组,整形的boolean代表,默认哪个选中。,最后是根视图。

 val dialog = AlertDialog.Builder(this@Main9Activity)
                dialog.setMultiChoiceItems(items,booleanArrayOf(true,false,true),null)
                        .create().show()

下面上经常自定义用得两个:

首先是adapter对话框:这里可以传入一个adapter,现在用得是arrayadapter可以用simpleadapter

 val dialog = AlertDialog.Builder(this@Main9Activity)
               dialog.setTitle("我是自定义对话框")
                       .setAdapter(ArrayAdapter(this@Main9Activity,R.layout.array_list,items),null)
                       .create().show()

预览:没有弄样式,看代码就知道啦、

kotlin安卓:每天一个组件 常用对话框_第5张图片

最后是很强大的自定义View对话框:首先引入一个布局文件,然后用setView()设置。如果想获取lay内部控件,首先获取lay对象,用findViewById就好啦。

 val lay = layoutInflater.inflate(R.layout.login,null)

                val dialog = AlertDialog.Builder(this@Main9Activity)
                dialog.setTitle("这是自定义view")
                        .setView(lay).create().show()
                lay.findViewById

 

预览:好了,常用对话框,用kotlin方式写完了。

kotlin安卓:每天一个组件 常用对话框_第6张图片

 

 

 

 

你可能感兴趣的:(Kotlin笔记,Kotlin安卓开发)