您的位置:首页 > 移动开发 > Android开发

自定义Dialog

2016-07-02 14:44 253 查看
默认的Dialog:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("最新版本:" + mVersionName);
builder.setMessage(mDesc);
// builder.setCancelable(false);//不让用户取消对话框, 用户体验太差,尽量不要用
builder.setPositiveButton("立即更新", new OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("立即更新");
download();
}
});

builder.setNegativeButton("以后再说", new OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
enterHome();
}
});

// 设置取消的监听, 用户点击返回键时会触发
builder.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
enterHome();
}
});

builder.show();


感觉默认的dialog不够漂亮。

自定义一个吧~

写一个布局文件

在dialog内用View.inflate() 引入

设置各种监听事件

AlertDialog.Builder setpw=new AlertDialog.Builder(this);
final AlertDialog setpwad=setpw.create();
View adview=View.inflate(HomeActivity.this,R.layout.dialog_set_passwd,null);//创建一个View对象。布局是xml写好了的
setpwad.setView(adview,0,0,0,0);//设置布局,后的参数表示间距。

final EditText btpasswd=(EditText)adview.findViewById(R.id.editText);
final EditText btpasswdconfirm=(EditText)adview.findViewById(R.id.editText2);//找到布局内的组建

Button cancle=(Button)adview.findViewById(R.id.cancer);
Button ok=(Button)adview.findViewById(R.id.ok);
cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
setpwad.dismiss();//让DiaLog消失
}
});

ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
setpwad.show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android