android各种提示Dialog 弹出框

这篇博客介绍了如何在Android中创建和使用各种类型的自定义Dialog,包括无消息的Dialog、带确认按钮的Dialog和带有确认及取消按钮的Dialog。通过示例代码展示了如何设置背景动画、是否响应外部触摸关闭、对话框主题等属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

}

ImageView spinner = (ImageView) v.findViewById(R.id.spinnerImageView);

((AnimationDrawable) spinner.getBackground()).start();

TextView messageTv = (TextView) v.findViewById(R.id.message);

if (TextUtils.isEmpty(message)) {

messageTv.setVisibility(View.GONE);

} else {

messageTv.setText(message);

messageTv.setVisibility(View.VISIBLE);

}

return dialog;

}

public static Dialog getCustomDialog(final Activity activity, View view, boolean dismissTouchOutside,

boolean cancelable, int theme) {

//Dialog dialog = theme > 0 ? new FullScreenDialogHUD(activity, theme)

// : new Dialog(activity, R.style.Dialog_FullScreen);

Dialog dialog = new Dialog(activity, R.style.Dialog_FullScreen);

dialog.setContentView(view);

dialog.setCancelable(cancelable);

dialog.setCanceledOnTouchOutside(dismissTouchOutside);

if (!cancelable) {

dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {

@Override

public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {

if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {

dialog.dismiss();

activity.finish();

}

return false;

}

});

}

return dialog;

}

public static Dialog getOneButtonDialog(final Activity activity, String content,

boolean dismissTouchOutside, boolean cancelable,

DialogInterface.OnClickListener confirmOnC 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 lickListener) {

Dialog dialog = new AlertDialog.Builder(activity)

.setPositiveButton(R.string.confirm, confirmOnClickListener)

.setCancelable(cancelable)

.setMessage(content)

.create();

dialog.setCanceledOnTouchOutside(dismissTouchOutside);

if (!cancelable) {

dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {

@Override

public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {

if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) {

dialog.dismiss();

activity.finish();

}

return false;

}

});

}

return dialog;

}

public static Dialog getButtonsDialog(Activity activity, int resId,

DialogInterface.OnClickListener confirmOnClickListener) {

return getButtonsDialog(activity, activity.getString(resId), true, true, confirmOnClickListener,

null);

}

public static Dialog getButtonsDialog(Activity activity, String content,

DialogInterface.OnClickListener confirmOnClickListener) {

return getButtonsDialog(activity, content, true, true, confirmOnClickListener, null);

}

public static Dialog getButtonsDialog(Activity activity, String content, boolean dismissTouchOutside,

boolean cancelable, DialogInterface.OnClickListener confirmOnClickListener,

DialogInterface.OnClickListener cancelOnClickListener) {

Dialog dialog = new AlertDialog.Builder(activity)

.setNegativeButton(R.string.cancel, cancelOnClickListener)

.setPositiveButton(R.string.confirm, confirmOnClickListener)

.setCancelable(cancelable)

.setMessage(content)

.create();

dialog.setCanceledOnTouchOutside(dismissTouchOutside);

return dialog;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值