默认的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();