Android alertdialog的自定义添加按钮和添加点击
16lz
2021-01-23
我要做的是一个竖排选择的按钮,上面要有图片,因为才学安卓不久小白一个,本来是做ios开发的因公司需要- -,正好也感兴趣,但是感觉学的好慢,就慢慢总结吧,
先看效果图。(左边是图片,右边是文字)
下面是代码:
TableLayout choose = (TableLayout) getLayoutInflater().inflate(R.layout.choose_purchase_way,null);AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.AlertDialog);//builder.setView(LayoutInflater.from(this).inflate(R.layout.choose_purchase_way,null));builder.setView(choose);builder.setTitle("Choose Payment Method");//builder.setTitle("请选择支付方式");AlertDialog alertDialog = builder.create();Button Button1 = (Button) choose.findViewById(R.id.ib_select1Pay);Button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {LogUtils.e("AlertDialog","select 1");}});Button Button2 = (Button) choose.findViewById(R.id.ib_select2Pay);Button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {LogUtils.e("AlertDialog","select 2");}});alertDialog.show();//alertDialog.getWindow().setLayout(600,800);//上面的方法也可以修改alertdialog 的大小,但是我只需要宽度固定,所以采用下面的方法。WindowManager.LayoutParams lp= alertDialog.getWindow().getAttributes();lp.width=850;//定义宽度//lp.height=800;//定义高度alertDialog.getWindow().setAttributes(lp);
因为实在是太小白了,不确定alertdialog的宽度的话,它会随着title 的长度而改变宽度,考虑到多语言的问题,只能固定最大宽度。
下面是xml文件,一个是布局xml。
<?xml version="1.0" encoding="utf-8"?>
android:background="@color/mol_white" 只能设置 内容部分的背景色,
android:paddingLeft="30dp" 设置图片距离左边边框的距离
android:drawablePadding="-30dp" 文字距离左边图片的距离
下面是style的xml文件,这里是改变 alertdialog的样式的关键
最后在说一下,安卓的像素问题,= =一开始设置的时候是按照ios 的像素配置的,我擦,好坑爹,调了好久才发现这个问题。示例中,红色部分左边是图片,右边是文字。
一共是两个按钮。查资料查的好辛苦,自己太笨。基于Android studio。 更多相关文章
- IKNinePhotoView 是一个开源的 Android 九宫格控件,可以自适应宽
- Android 图片高效加载
- Android 开机图片/文字/动画的修改
- Android的图片浏览源码解读
- Android Opencv 之 Android Studio 进行 opencv ( 4.2.0) 环境搭建
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
- Android TextView使用HTML处理字体样式、显示图片等