最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android系统默认对话框添加图片功能
时间:2017-01-09 编辑:简简单单 来源:一聚教程网
开发工具Android Studio
今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说,
看效果:
创建XML文件dialog_lsit_item.xml
代码如下 | 复制代码 |
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/my_dialog_shape">
android:id="@+id/iv_dialog"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:paddingLeft="20dp"
android:gravity="center"/>
android:gravity="center"
android:id="@+id/tv_dialog"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:textSize="20sp"
android:layout_marginLeft="14dp"/>
Main_activity.xml布局文件
style="@style/itemTextLeft"
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"/>
android:id="@+id/fangshi"
android:clickable="true"
style="@style/itemTextLeftNext"
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 text
privateString[] datas = {"微信支付","支付宝支付","余额支付"};
privateint[] images = {R.drawable.weixinzhifu, R.drawable.zhifubaozhifu, R.drawable.yuezhifu};
privateList
publicclassMainActivityextendsBaseActivityimplementsView.OnClickListener{
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initView();
}
@Override
protectedvoidinitView() {
findViewById(R.id.fangshi).setOnClickListener(this);
}
@Override
publicvoidonClick(View view) {
if(view !=null) {
switch(view.getId()) {
caseR.id.fangshi:
showFangshi();
break;
}
}
//选择支付方式
privatevoidshowFangshi() {
listItem =newArrayList
for(inti =0; i < datas.length; i++) {
Map
map.put("data", datas[i]);
map.put("image", images[i]);
listItem.add(map);
}
SimpleAdapter simpleAdapter =newSimpleAdapter(this, listItem, R.layout.dialog_list_item,
newString[]{"data","image"},newint[]{R.id.tv_dialog, R.id.iv_dialog});
//自定义列表对话框
AlertDialog.Builder builder =newAlertDialog.Builder(this).setAdapter(simpleAdapter,
newDialogInterface.OnClickListener() {
@Override
publicvoidonClick(DialogInterface dialog,intwhich) {
//Toast.makeText(MainActivity.this, "选中了:"+datas[which].toString(),Toast.LENGTH_SHORT).show();
//支付方式那行显示名称
fangshi.setText(datas[which]);
//支付方式赋值
payType = which;
//关闭对话框
dialog.dismiss();
}
});
builder.create().show();
}
|
注意:支付方式那行显示名称——关闭对话框 里边的变量是我写好的 用的时候可以注释 解除Toast注释。因公司软件 我只是截取部分 用来说明这个效果 就不上源码文件了,感谢!有问题可以私信我!
相关文章
- sora软件价格介绍 02-22
- sora官网入口地址一览 02-22
- Sora生成的视频使用教程 02-22
- 《梦幻西游》元宵灯谜线索答案大全2024 02-22
- 《原神》有朋自远方来第一天通关攻略 02-22
- 《苏醒之路》四个结局达成攻略 02-22