Android 中自定义Dialog的样式,主要是通过自定义的xml,然后加载到dialog的背景中,如下步骤:
超过十年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:网站建设、网站制作,成都网站推广,成都网站优化,整体网络托管,小程序定制开发,微信开发,app软件定制开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!
1、自定义Dialog
final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
2、窗口布局
View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog,null);
3、把设定好的窗口布局放到dialog中
dialog.setContentView(contentView);
4、设定点击窗口空白处取消会话
dialog.setCanceledOnTouchOutside(true);
5、具体的操作
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
6、展示窗口
dialog.show();
例:
final Dialog dialog = new Dialog(this,R.style.Theme_dialog);
View contentView =LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);
dialog.setContentView(contentView);
dialog.setCanceledOnTouchOutside(true);
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
TextView titleText = (TextView)contentView.findViewById(R.id.title);
titleText.setText("请选择银行卡");
SelectBankCardDialogAdapter adapter =new SelectBankCardDialogAdapter(this, mBankcardList);
msgView.setAdapter(adapter);
msgView.setOnItemClickListener(newOnItemClickListener() {
@Override
public void onItemClick(AdapterViewparent, View view, int position, long id) {
//Toast.makeText(RechargeFlowToMobileActivity.this,
// position+"",0).show();
mSelectCard =mBankcardList.get(position);
String area = mSelectCard.getBank_card();
mCardNumberText.setText(area);
dialog.dismiss();
}
});
Button closeBtn = (Button)contentView.findViewById(R.id.close);
closeBtn.setClickable(true);
closeBtn.setOnClickListener(newView.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
以上就是在Android开发自定义dialog样式的方法和步骤,android很多的控件都提供了接口或者方法进行样式的定义和修改。
[img]自定义android Button样式的方法:
1、首先写一个定义Button样式的xml文件:新建XML文件,类型选Drawable,根结点选selector,本例中文件名为btn_style,只需要在selector结点里写上三种状态时显示的背景图片(按下、获取焦点,正常),代码如下:
?xml version="1.0" encoding="utf-8"?
selector xmlns:android=""
item android:state_pressed="true" android:drawable="@mipmap/btn_pressed" ;/
item android:state_focused="true" android:drawable="@mipmap/btn_pressed" ;/
item android:drawable="@mipmap/btn" ;/
/selector
2、在content_main.xml中添加一个button控件,设置text属性为"文自定义按钮",运行后比较难看,所以用draw9patch工具修饰一下:
(1)打开SDK目录,打开tools文件夹,运行draw9patch.bat,略微等待,将btn.png导入,以下讲解下该工具的使用方法。
(2)该工具会向原图片四周增加一圈透明像素点,可以通过鼠标选中透明像素点使其变黑。左边和上边变黑的部分表示拉长或者放大时只放大黑线对应的部分,右边和下边变黑的部分表示填写文字时文字填充的位置:
(3)保存,填写文件名称时无需填写后缀名,系统会自动追加.9.png的后缀名。删除原先导入的图片,将此文件导入Android项目中,无需更改btn_style.xml中的图片名称,运行,观察效果如下。
自定义样式方法,可以直接通过定义xml文件来实现不同的样式:
只需要修改button_style文件,同样三种状态分开定义:
Xml代码
?xml version="1.0" encoding="utf-8"?
selector xmlns:android=""
item android:state_pressed="true"
shape
gradient android:startColor="#0d76e1" android:endColor="#0d76e1"
android:angle="270" /
stroke android:width="1dip" android:color="#f403c9" /
corners android:radius="2dp" /
padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" /
/shape
/item
item android:state_focused="true"
shape
gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7"
android:angle="270" /
stroke android:width="1dip" android:color="#f403c9" /
corners android:radius="2dp" /
padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" /
/shape
/item
item
shape
gradient android:startColor="#000000" android:endColor="#ffffff"
android:angle="180" /
stroke android:width="1dip" android:color="#f403c9" /
corners android:radius="5dip" /
padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" /
/shape
/item
/selector
gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框 width 边框宽度,color 边框颜色
corners 圆角 radius 半径,0为直角
padding text值的相对位置
使用stackoverflow软件进行修改。
操作
首先下载自定义字体,拷贝到工程中的assets文件夹下,建个新文件夹也可以。
创建一个继承自Application的类,放上TypeFace的变量。
将系统的serif的字体替换成微软雅黑。
最后自定义的主题。