Android实现带图标的列表对话框

  

根据之前学的Android对话框技术,来实现下面一个效果:界面有一个“打开设置对话框”按钮,将弹出选择项目的对话框,单击任意列表项,都将关闭该对话框,并通过消息提示框显示选择的列表内容。

  

效果如图所示:

  

 Android实现带图标的列表对话框”> <br/>
  </p>
  <p>实现代码:<br/>
  res/layout/主要。xml: <br/>
  </p>
  
  <pre类=   & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android:取向=按怪薄?   android: layout_width="宽和"   android: layout_height="宽和"   android: id=癅 + id/layout1”   比;   & lt;按钮   android: id=癅 + id/button1”   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:文本="打开设置对话框”/比;   & lt;/LinearLayout>   之前      

编写用于布局列表项内容的XML布局文件物品。xml,在该文件中,采用水平线形布局管理器,并在该布局管理器中添加ImageView组件和一个TextView组件,分别用于显示列表项中的图标和文字。
  res/layout/项目。xml:
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android "   android: layout_width=" match_parent "   android: layout_height=" match_parent "   面向android:=按怪薄北?   & lt; ImageView   android: id=癅 + id/形象”   android: paddingLeft=" 10 px”   android: paddingTop=" 20 px”   android: paddingBottom=" 20 px”   android: adjustViewBounds=" true "   android: maxWidth=" 72 px "   android: maxHeight=" 72 px "   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "/比;   & lt; TextView   android: layout_width=" wrap_content "   android: layout_height=" wrap_content "   android:填充=" 10 px”   android: layout_gravity="中心"   android: id=癅 + id/标题”/比;   & lt;/LinearLayout>   之前      

MainActivity:
  

        包com.example.test;      进口java.util.ArrayList;   进口java.util.HashMap;   进口并不知道;   进口java.util.Map;         进口android.app.Activity;   进口android.app.AlertDialog;   进口android.app.AlertDialog.Builder;   进口android.content.DialogInterface;   进口android.os.Bundle;   进口android.view.View;   进口android.view.View.OnClickListener;   进口android.widget.Button;   进口android.widget.SimpleAdapter;   进口android.widget.Toast;      公开课MainActivity延伸活动{         @Override   公共空间onCreate(包savedInstanceState) {   super.onCreate (savedInstanceState);   setContentView (R.layout.main);      int [] imageId=new int [] {R.drawable.in R.drawable.stop,   R.drawable.setting、R.drawable.music R.drawable.exit};   最后一个String [] title=新String[]{”程序管理”,“保密设置”,“安全设置”,“邮件设置”,“铃声设置"};   List比;listitem=new ArrayList在();//通过对循环将图片id和列表项文字放到地图中,并添加到列表集合中   for (int i=0;我& lt;imageId.length;我+ +){   Object> Map<字符串;地图=new HashMap<字符串,Object> ();   地图。put("形象",imageId[我]);   地图。把(“标题”,标题[我]);   listItems.add(地图);   }   最后SimpleAdapter适配器=new SimpleAdapter (listitem,这   出来。项,新String[]{“标题”、“图像”},新int [] {R.id.title, R.id.image});      按钮按钮=(按钮)findViewById (R.id.button1);   按钮。setOnClickListener OnClickListener(新(){      @Override   公共空间onClick(查看arg0) {   Builder构建器=new AlertDialog.Builder (MainActivity.this);   builder.setIcon (R.drawable.music);//设置对话框的图标   builder.setTitle(“设置:");//设置对话框的标题//添加列表项   构建器。setAdapter(适配器、新DialogInterface.OnClickListener () {      @Override   公共空间onClick (DialogInterface对话框,int) {   Toast.makeText (MainActivity。这个,”您选择了【“+标题[这]+“】”,Toast.LENGTH_SHORT),告诉();      }   });   builder.create(),告诉();//创建对话框并显示   }   });   }   }   

Android实现带图标的列表对话框