android 自定义对话框

“`
自定义对话框:

其中R.layout.dialog_prompt为自定义对话框样式dialog_prompt.xml文件。
public class PromptDialog extends Dialog implements View.OnClickListener {
private OnPromptDialogListener mButtonselcetor;
private Context mContext;
private TextView mTitleView;
private TextView messageView;
private Button mSureButton;
private Button mCancelButton;
private String mTitle;
private String mMessage;
private String mOkButtonMessage;
private String mCancelButtonMessage;

public PromptDialog(Context context) {
    super(context);
    this.mContext = context;
    // TODO Auto-generated constructor stub
}

public PromptDialog(Context context, int theme) {
    super(context, theme);
    this.mContext = context;
}


public void setOnButtonListener(OnPromptDialogListener buttonListener) {
    mButtonselcetor = buttonListener;
}

public static interface OnPromptDialogListener {
    void onOk(PromptDialog promptDialog);
    void onCancel(PromptDialog promptDialog);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dialog_prompt);
    mTitleView = (TextView) findViewById(R.id.prompt_dialog_title);
    messageView = (TextView) findViewById(R.id.prompt_dialog_message);
    mSureButton = (Button) findViewById(R.id.prompt_dialog_btn_ok);
    mCancelButton = (Button) findViewById(R.id.prompt_dialog_btn_cancel);
    mTitleView.setText(mTitle);
    messageView.setText(mMessage);
    mSureButton.setText(mOkButtonMessage);
    mCancelButton.setText(mCancelButtonMessage);
    mSureButton.setOnClickListener(this);
    mCancelButton.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    if (v.getId() == R.id.prompt_dialog_btn_ok) {
        mButtonselcetor.onOk(this);
    } else {
        mButtonselcetor.onCancel(this);
    }
}

public static PromptDialog build(Context context,String title, String message,
        String sureButtonMessage, String cancelButtonMessage,
        OnPromptDialogListener onButtonSelectorListener) {
    PromptDialog alertDialogView = new PromptDialog(context,R.style.AlertDialog);
    alertDialogView.mTitle = title;
    alertDialogView.mMessage = message;
    alertDialogView.mOkButtonMessage = sureButtonMessage;
    alertDialogView.mCancelButtonMessage = cancelButtonMessage;
    alertDialogView.setOnButtonListener(onButtonSelectorListener);
    return alertDialogView;
}

public static PromptDialog build(Context context, int titleId, int resMsgId, int resOkId,
        int resCancelId, OnPromptDialogListener onAlertDialogListener) {
    return build(context, context.getString(titleId), context.getString(resMsgId),
            context.getString(resOkId), context.getString(resCancelId),
            onAlertDialogListener);
}

}

调用:java文件
private void showBackDialog() {
PromptDialog.build(this,
“提示”,
“是否要退出?”,
“否”,
“是”,
new OnPromptDialogListener() {
@Override
public void onOk(final PromptDialog promptDialog) {
//点击是执行
}

                @Override
                public void onCancel(PromptDialog promptDialog) {
                //点击否执行
                    // TODO Auto-generated method stub
                    promptDialog.cancel();
                }
            }).show();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值