================================================================
简单列表对话框的创建和基本使用
1、在布局界面布局 activity_main.xml布局 文件
代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 简单列表对话框 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="普通列表对话框" />
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德玛西亚" />
</LinearLayout>
----------------------
2、基本列表对话框的创建和基本使用
代码
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setIcon(R.drawable.ic_launcher);
String[] colours = {"红色","蓝色","绿色"};
// 第一个参数 -- 要设置在简单列表对话框 的数据 -- 数组类型
// 第二个参数 -- 简单列表对话框的事件 监听
builder.setItems(colours, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
textview.setTextColor(Color.RED);
break;
case 1:
textview.setTextColor(Color.BLUE);
break;
case 2:
textview.setTextColor(Color.GREEN);
break;
}
}
});
// 显示对话框
builder.show();
效果图示例
=======================================================================
单选列表对话框的创建和基本使用
1、在布局界面布局 activity_main.xml布局 文件
代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 单选列表对话框 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="单选列表对话框" />
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德玛西亚" />
</LinearLayout>
----------------------
2、单选列表对话框的创建和基本使用
int position ;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("字体设置");
builder.setIcon(R.drawable.ic_launcher);
String[] fontSize = { "40sp", "50sp", "60sp", "70sp" };
//实现单选列表对话框的setSingleChoiceItems方法
builder.setSingleChoiceItems(fontSize, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//把选择的位置 赋值给position
position = which;
}
});
//确定按钮的事件监听
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//把上面的单选列表框 选中的位置 传到 确定按钮这里来
switch (position) {
case 0:
textview.setTextSize(40);
break;
case 1:
textview.setTextSize(50);
break;
case 2:
textview.setTextSize(60);
break;
case 3:
textview.setTextSize(70);
}
}
});
//显示单选列表对话框
builder.show();
效果图片示例
=============================================================
多选列表对话框的创建和基本使用
1、在布局界面布局 activity_main.xml布局 文件
代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 多选列表对话框 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="多选列表对话框" />
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德玛西亚" />
</LinearLayout>
----------------------
2、多选对话框的创建和基本使用
代码
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多项选择");
builder.setIcon(R.drawable.ic_launcher);
//多选列表对话框的选择数据
final String[] interest = {"吃饭","睡觉","打豆豆","dadada"};
final boolean[] b = new boolean[interest.length];
//显示多选对话框的setMultiChoiceItems方法
//AlertDialog.Builder.setMultiChoiceItems
//(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener)
builder.setMultiChoiceItems(interest, null, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
//选择了 多项列表 中的 哪一项 就 把选中的状态 给 boolean数组
b[which] = isChecked;
}
});
//确定按钮的 事件监听
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
//遍历boolean数组 来取出选择的选项
for(int i = 0;i<b.length;i++){
if(b[i]){
sb.append(interest[i] + " ");
}
}
textview.setText("你选择了:" + sb.toString());
}
});
builder.show();
效果图示例
=========================================================================
自定义适配器列表对话框的创建和基本使用
//res/layout有2个布局一个activity_main.xml文件布局 放一个按钮控件
//点击按钮弹出自定义多选列表对话框
//item_activity.xml文件布局 自定义多选列表对话框的布局 一个ImageView 一个TextView
1、item_activity.xml文件 布局
代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/texview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
-------------------
2、自定义适配器列表对话框的创建和基本使用
代码
//创建一个AlerDialog对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("设置");
builder.setIcon(R.drawable.ic_launcher);
//自定义列表对话框中的选项数据
String[] set = {"系统设置","WiFi设置","蓝牙设置","声音设置"};
//本地图片资源
int[] imgs = {R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04};
//把选项数据和图片资源存入一个集合中
List<Map<String, Object>> data = new ArrayList<Map<String,Object>>();
for(int i = 0;i<set.length;i++){
Map<String, Object> set_map = new HashMap<String, Object>();
set_map.put("img", imgs[i]);
set_map.put("set", set[i]);
data.add(set_map);
}
//自定义适配器SimpleAdapter
adapter = new SimpleAdapter(this, data , R.layout.item_activity, new String[]{"img","set"}, new int[]{R.id.image,R.id.texview});
//把自定义适配器绑定到AlertDialog对话框 的方法 setAdapter
builder.setAdapter(adapter, new OnClickListener() {
@Override
});
builder.show();
}
效果图示例
============================================================================