Android自定义对话框列表

发布于 2022-10-15 08:57:55 字数 3383 浏览 13 评论 0

转:garfieldtom  

Android自定义对话框列表

学习Android,在文件操作时弹出一个对话框作为弹出菜单(习惯叫法 )  ) :

  1. new AlertDialog.Builder(MyActivity.this)
  2.        .setTitle("标题")
  3.        .setItems(menu,listener)
  4.        .show();

复制代码其中:

menu:

  1. String[] menu={"打开","重命名","删除","复制","剪切","自动重命名"};

复制代码listener:

  1. OnClickListener listener = new DialogInterface.OnClickListener() {
  2.      @Override
  3.        public void onClick(DialogInterface dialog, int which)
  4.      {
  5.        //TODO 点击项处理
  6.        }
  7. };

复制代码当menu内容多时,一屏显示不下,看了看间隔比较到,字体也比较大,如果修改得小一些就可以在一屏显示了。

改造对话框:

  1. List<Map<String,String>> filemenu= new ArrayList<Map<String, String>>();
  2. for(int i=0;i<menu.length;i++){
  3. Map<String,String> m=new HashMap<String,String>();
  4. m.put("id",menu[i]);
  5. filemenu.add(m);
  6. }
  7. SimpleAdapter adapter = new SimpleAdapter(FileManager.this,
  8. (List<Map<String,String>>) filemenu, R.layout.popupmenu,
  9. new String[] { "id"}, new int[] {R.id.txtItem});
  10.    new AlertDialog.Builder(FileManager.this)
  11.        .setTitle(R.string.OptionMenuTitle)
  12.        //通过自定义适配器来显示菜单
  13.        .setAdapter(adapter,listener)
  14.        .show();

复制代码其中R.layout.popupmenu:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3.   xmlns:android="http://schemas.android.com/apk/res/android"
  4.   android:layout_width="fill_parent"
  5.   android:layout_height="fill_parent">
  6.     <TextView
  7.      android:layout_width="fill_parent"
  8.      android:layout_height="wrap_content"
  9.      android:text="TextView"
  10.      android:id="@+id/txtItem"
  11.      android:textColor="@color/blue"
  12.      android:textSize="24sp"
  13.      >
  14.     </TextView>
  15.   <ListView android:id="@id/android:list" android:drawSelectorOnTop="false" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
  16. </LinearLayout>

复制代码只需要修改这个xml布局文件就可以修改弹出项的外观了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文