自定义alertDialog

最近做一个android应用,发现android自带的alertDialog太丑了,想进行改造,开始想到样式,经过一番尝试,失败。。然后想到皮肤,也不行。后来想到一个极为简单的方法,继承重写。。。

然后样子就成下图那样了。
代码:

public class CustomAlertDialog extends AlertDialog.Builder {
LayoutInflater inflater;
View container;
TextView tx_title;
TextView tx_message;
Context mContext;
View cancel;
AlertDialog alertDialog;
View ok;

public CustomAlertDialog(Context context,String title,String msg) {
super(context);
mContext = context;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
container = inflater.inflate(R.layout.widget_custom_alertdialog, null);
setView(container);

cancel = container.findViewById(R.id.cancel);
ok = container.findViewById(R.id.ok);
tx_title = (TextView) container.findViewById(R.id.title);
tx_message = (TextView) container.findViewById(R.id.message);
if(title==null){
title="友情提示";
}
tx_title.setText(title);
tx_message.setText(msg);
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});

}
public Builder setNegativeButton(CharSequence text, final OnClickListener listener) {
cancel.setVisibility(View.VISIBLE);
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(alertDialog, 0);
alertDialog.dismiss();
}
});
return this;
}
public Builder setPositiveButton(final OnClickListener listener) {
ok.setVisibility(View.VISIBLE);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onClick(alertDialog, 0);
}
});
return this;
}
@Override
public AlertDialog create() {
alertDialog= super.create();
return alertDialog;
}
}




使用:

new CustomAlertDialog(cont, null, "退出程序?")
.setPositiveButton(new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
AppManager.getAppManager().AppExit(cont);
}
}).create().show();;
}

和传统方式没区别。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值