各种常用的列表对话框基本使用


================================================================

简单列表对话框的创建和基本使用

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();
  

效果图示例

 

195335_xdrP_2542711.png=======================================================================

单选列表对话框的创建和基本使用

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();

效果图片示例

195508_slpF_2542711.png=============================================================

多选列表对话框的创建和基本使用

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();

效果图示例

195608_tZtC_2542711.png=========================================================================

自定义适配器列表对话框的创建和基本使用

//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();
 }
 

效果图示例

 

195711_3Uff_2542711.png============================================================================

 

转载于:https://my.oschina.net/u/2542711/blog/608446

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值