1、将TextView装载到列表项中去就可以实现带图标的列表项,这里需要借助BaseAdapter适配器来实现,然后通过getView将TextView返回就OK。
设置图片资源到TextView需要用到setCompoundDrawable(left,top,right,bottom)此方法,如下:
imgIds是图片资源数组,即将图片资源设置到TextView的左边(文字在右边,相对位置为文字)
具体设置TextView如下:
关于BaseAdapter具体用法和对话框原理,参考spinner下拉列表和普通对话框原理
2、模拟菜单项带图标
对于菜单的子菜单项,无论是上下文菜单ContextMenu还是SubMenu都不支持图片资源,这里针对输入框的上下文菜单的简单模拟(其他类似)。输入框长按将弹出菜单,故需要对输入框长按事件监听,如下
---------------------------------------------------------------------------------------------------------
实现步骤
第一步:定义res/values/array.xml 用来存放列表项文字内容
第二步:接下来还是一个输入框和一个按钮,如下
res/layout/icon_list_dialog_layout.xml
第三步:src/com/myiconlistdialog/activity/IconListDialogActivity.java
目录结构
效果图:
初始状态 单击按钮或者长按输入框
源代码地址:http://download.csdn.net/source/3220141