Amdroid 仿微信确认对话框

一、前言

    这篇博客关于打造一个仿造微信的 确认/取消 对话框。

1.自定义样式。

2.接口回调。

3.自定义对话框。

二、效果





三、编码与实现

public class ConfirmDialog extends Dialog {

	private Button confirmBtn;
	private Button cancelBtn;
	private TextView titleTv;
	private TextView contentTv;
	private LinearLayout titleLayout;
	private OnConfirmDialogButtonClickListener listener;

	public ConfirmDialog(Context context) {
		super(context, R.style.WeixinDialog);
		initDialog(context);
	}

	private void initDialog(Context context) {
		setContentView(R.layout.confirm_dialog_view);
		confirmBtn = (Button) findViewById(R.id.btn_confirm);
		cancelBtn = (Button) findViewById(R.id.btn_cancel);
		titleTv = (TextView) findViewById(R.id.tv_title);
		contentTv = (TextView) findViewById(R.id.tv_content);
		titleLayout = (LinearLayout) findViewById(R.id.title_layout);
		confirmBtn.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if (listener != null) {
					listener.onConfirmButtonClick(v);
				}
				dismiss();
			}
		});
		cancelBtn.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if (listener != null) {
					listener.onCancelButtonClick(v);
				}
				dismiss();
			}
		});
	}

	public void setOnConfirmDialoButtonClick(
			OnConfirmDialogButtonClickListener listener) {
		this.listener = listener;

	}

	public void setTitle(String title) {
		if (!"".equals(title)) {
			titleLayout.setVisibility(View.VISIBLE);
			titleTv.setText(title);
		}
	}

	public void setMessage(String msg) {
		contentTv.setText(msg);
	}

	public void setConfirmButtonText(String text) {
		confirmBtn.setText(text);
	}

	public void setCancelButtonText(String text) {
		cancelBtn.setText(text);
	}

}




源码下载


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值