android自定义dialog 例子,Android AlertDialogDemo自定义使用方法及例子实现

该博客展示了如何自定义一个AlertDialog,包括设置背景、文字、按钮等元素,并实现点击事件,如重试、忘记支付密码功能。通过XML布局和Java代码结合,详细解释了对话框的创建和功能绑定,用于演示AlertDialog的使用方法。

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

效果图如下:

Dialog左边的按钮忘记支付密码写错了 已修复 图就不改了 功能需求点击重试 再次打开输入支付密码页面 点击忘记支付密码跳转密码设置页面 此Demo只为演示AlertDialog的使用方法以及资源属性设置 需要其他功能请留言说明

这是一个支付密码输入失败的弹框 自定义了基本属性

XMl布局dialog_common

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:background="@drawable/commen_dialog_bg"

>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintRight_toRightOf="parent"

android:textSize="16sp"

android:id="@+id/titleTv"

app:layout_constraintTop_toTopOf="parent"

android:layout_marginTop="20dp"

tools:text="dddddddddd"

android:textColor="@android:color/black"

/>

android:id="@+id/line"

android:layout_width="match_parent"

android:layout_height="1px"

app:layout_constraintTop_toBottomOf="@+id/titleTv"

android:layout_marginTop="20dp"

android:background="@color/colorPrimary"/>

android:id="@+id/confirmBtn"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:minHeight="50dp"

app:layout_constraintLeft_toLeftOf="parent"

app:layout_constraintTop_toBottomOf="@+id/line"

app:layout_constraintRight_toLeftOf="@+id/cancelBtn"

android:textColor="#3478f6"

android:textSize="16sp"

tools:text="确定"

android:gravity="center"/>

android:id="@+id/cancelBtn"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:minHeight="50dp"

app:layout_constraintTop_toBottomOf="@+id/line"

app:layout_constraintLeft_toRightOf="@+id/confirmBtn"

android:textColor="#3478f6"

android:textSize="16sp"

tools:text="取消"

app:layout_constraintRight_toRightOf="parent"

android:gravity="center"

/>

android:layout_width="1px"

android:layout_height="0dp"

android:background="@color/colorPrimary"

app:layout_constraintTop_toTopOf="@+id/confirmBtn"

app:layout_constraintBottom_toBottomOf="@+id/confirmBtn"

app:layout_constraintLeft_toRightOf="@+id/confirmBtn"

/>

圆角框的属性commen_dialog_bg

Styledialog_custom

false       

@android:color/transparent

80%

80%

AlertDialog在代码中应用

private void showPayFailedDialog(String message) {

AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.dialog_custom);

View customView = getLayoutInflater().inflate(R.layout.dialog_common, null);

builder.setView(customView);

AlertDialog mDialog = builder.create();

TextView titleTv = customView.findViewById(R.id.titleTv);

TextView confirmBtn = customView.findViewById(R.id.confirmBtn);

TextView cancelBtn = customView.findViewById(R.id.cancelBtn);

titleTv.setText(message);

if (message.contains("密码")) {

confirmBtn.setText("忘记支付密码");

} else {

confirmBtn.setText("取消");

}

cancelBtn.setText("重试");

//点击事件 用了Java8 lambda表达式

confirmBtn.setOnClickListener(view -> {

mDialog.dismiss();

if (message.contains("密码")) {

startActivity(new Intent(this, PaySettingsActivity.class));

}

});

//同上

cancelBtn.setOnClickListener(view -> {

mDialog.dismiss();

showPayDialog();

});

mDialog.show();

}

与君共勉

我要一步一步往上爬 在最高点乘着叶片往前飞 任风吹干流过的泪和汗 我要一步一步往上爬 等待阳光静静看着它的脸 小小的天有大大的梦想 我有属于我的天 任风吹干流过的泪和汗 总有一天我有属于我的天

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值