前言
很早之前写过一篇
自定义提示信息Dialog
如图:
这个形式也是最常用的,不过最近需要用到列表信息Dialog
,原生的不光样式不能满足需求,而且是开发电视端的APP,需要对焦点进行特殊处理,所以就需要自定义Dialog
我们先来看一下系统自带的列表Dialog。
系统自带列表Dialog
第一种:纯列表
我们先来看第一种:
最简单的一种,没有当前状态,只有列表,选中之后弹框就会消失(非手动调用dialog.dismiss()
)
代码如下:
AlertDialog alertDialog = new AlertDialog
.Builder(MainActivity.this)
.setItems(new String[]{"科目一", "科目二", "科目三"}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"选择了第"+which+"个",Toast.LENGTH_SHORT).show();
}
}).create();
alertDialog.show();
第二种:单选列表
这种列表会有checked提示,setSingleChoiceItems()
中第二个参数就是控制第几个被选中,而且点击之后不会自动消失,需要手动调用dialog.dismiss()
,有时会配合setNegativeButton()、setPositiveButton
等一起使用。