
开发工具AndroID Studio
今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说,
看效果:
创建XML文件dialog_lsit_item.xml
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="horizontal" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:background="@drawable/my_dialog_shape"> <ImageVIEw androID:ID="@+ID/iv_dialog" androID:layout_wIDth="wrap_content" androID:layout_height="50dp" androID:paddingleft="20dp" androID:gravity="center"/> <TextVIEw androID:gravity="center" androID:ID="@+ID/tv_dialog" androID:layout_wIDth="wrap_content" androID:layout_height="50dp" androID:textSize="20sp" androID:layout_marginleft="14dp"/></linearLayout>Main_activity.xml布局文件<TextVIEw androID:layout_wIDth="wrap_content" androID:layout_height="@dimen/dp_40" androID:drawableleft="@mipmap/zhifufangshi" androID:drawablepadding="@dimen/dp_10" androID:text="@string/text_zhifufangshi" /><TextVIEw androID:ID="@+ID/fangshi" androID:clickable="true" androID:layout_wIDth="match_parent" androID:layout_height="@dimen/dp_40" androID:gravity="center_vertical|end" androID:drawablepadding="@dimen/dp_10" />MainActivity.java源文件//支付对话框 icon or textprivate String[] datas = {"微信支付","支付宝支付","余额支付"};private int[] images = {R.drawable.weixinzhifu,R.drawable.zhifubaozhifu,R.drawable.yuezhifu};private List<Map<String,Object>> ListItem;public class MainActivity extends BaseActivity implements VIEw.OnClickListener{@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initVIEw();}@OverrIDeprotected voID initVIEw() { findVIEwByID(R.ID.fangshi).setonClickListener(this);}@OverrIDepublic voID onClick(VIEw vIEw) { if (vIEw != null) { switch (vIEw.getID()) { case R.ID.fangshi: showFangshi(); break; }}//选择支付方式private voID showFangshi() { ListItem = new ArrayList<Map<String,Object>>(); for (int i = 0; i < datas.length; i++) { Map<String,Object> map = new HashMap<>(); map.put("data",datas[i]); map.put("image",images[i]); ListItem.add(map); } SimpleAdapter simpleAdapter = new SimpleAdapter(this,ListItem,R.layout.dialog_List_item,new String[]{"data","image"},new int[]{R.ID.tv_dialog,R.ID.iv_dialog}); //自定义列表对话框 AlertDialog.Builder builder = new AlertDialog.Builder(this).setAdapter(simpleAdapter,new DialogInterface.OnClickListener() { @OverrIDe public voID onClick(DialogInterface dialog,int which) { //Toast.makeText(MainActivity.this,"选中了:"+datas[which].toString(),Toast.LENGTH_SHORT).show(); //支付方式那行显示名称 fangshi.setText(datas[which]); //支付方式赋值 payType = which; //关闭对话框 dialog.dismiss(); } }); builder.create().show();}注意:支付方式那行显示名称――关闭对话框 里边的变量是我写好的 用的时候可以注释 解除Toast注释。因公司软件 我只是截取部分 用来说明这个效果 就不上源码文件了,感谢!有问题可以私信我!
总结以上是内存溢出为你收集整理的Android系统默认对话框添加图片功能全部内容,希望文章能够帮你解决Android系统默认对话框添加图片功能所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)