Android自定义对话框列表
Android自定义对话框列表
学习Android,在文件操作时弹出一个对话框作为弹出菜单(习惯叫法 ) ) :
- new AlertDialog.Builder(MyActivity.this)
- .setTitle("标题")
- .setItems(menu,listener)
- .show();
复制代码其中:
menu:
- String[] menu={"打开","重命名","删除","复制","剪切","自动重命名"};
复制代码listener:
- OnClickListener listener = new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which)
- {
- //TODO 点击项处理
- }
- };
复制代码当menu内容多时,一屏显示不下,看了看间隔比较到,字体也比较大,如果修改得小一些就可以在一屏显示了。
改造对话框:
- List<Map<String,String>> filemenu= new ArrayList<Map<String, String>>();
- for(int i=0;i<menu.length;i++){
- Map<String,String> m=new HashMap<String,String>();
- m.put("id",menu[i]);
- filemenu.add(m);
- }
- SimpleAdapter adapter = new SimpleAdapter(FileManager.this,
- (List<Map<String,String>>) filemenu, R.layout.popupmenu,
- new String[] { "id"}, new int[] {R.id.txtItem});
- new AlertDialog.Builder(FileManager.this)
- .setTitle(R.string.OptionMenuTitle)
- //通过自定义适配器来显示菜单
- .setAdapter(adapter,listener)
- .show();
复制代码其中R.layout.popupmenu:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="TextView"
- android:id="@+id/txtItem"
- android:textColor="@color/blue"
- android:textSize="24sp"
- >
- </TextView>
- <ListView android:id="@id/android:list" android:drawSelectorOnTop="false" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
- </LinearLayout>
复制代码只需要修改这个xml布局文件就可以修改弹出项的外观了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论