效果预览
在虚拟机上运行效果,只能通过点击取消和确定按钮关闭弹窗

一、基本概念
CommonDialog是一种在弹出框消失之前,用户无法操作其他界面内容的对话框。通常用来展示用户当前需要的或用户必须关注的信息或操作。对话框的内容通常是不同组件进行组合布局,如:文本、列表、输入框、网格、图标或图片,常用于选择或确认信息。
二、接口说明
参考官方文档
三、实现
1.ConfirmDialog类
/********
*文件名: ConfirmDialog
*创建者: 醉意丶千层梦
*创建时间:2022/2/7 17:24
*描述: ConfirmDialog
********/
public class ConfirmDialog extends CommonDialog implements Component.ClickedListener {
private Context context;
private Text detailText;
private Button okBtn,cancelBtn;
private OnDialogClickListener dialogClickListener;
public ConfirmDialog(Context context) {
super(context);
this.context=context;
//居中
setAlignment(LayoutAlignment.CENTER);
//设置高度为自适应,宽度为屏幕的0.8
setSize(context.getResourceManager().getDeviceCapability().width
* context.getResourceManager().getDeviceCapability().screenDensity
/ 160*4/5, MATCH_CONTENT);
//设置是否启用触摸对话框外区域关闭对话框的功能
setAutoClosable(false);
initComponents();
LogUtils.info(getClass().getSimpleName()+" --- create dialog");
}
@Override
public void onClick(Component component) {
if (component==okBtn){
LogUtils.info(getClass().getSimpleName()+" --- ok click");
//关闭dialog
destroy();
if(dialogClickListener != null){
dialogClickListener.onOKClick();
}
}
else if(component==cancelBtn){
LogUtils.info(getClass().getSimpleName()+" --- cancel click");
//关闭dialog
destroy();
if(dialogClickListener != null){
dialogClickListener.onCancelClick();
}
}
}
/**
*按钮接口
*/
public interface OnDialogClickListener{
void onOKClick();
void onCancelClick();
}
/**
* 初始化组件以及设置对应按钮监听事件
*/
private void initComponents(){
//设置布局xml
Component component= LayoutScatter.getInstance(context)
.parse(

本文档详细介绍了如何在OHOS系统中实现一个ConfirmDialog,包括基本概念、接口说明、具体实现步骤以及按钮点击效果的XML布局文件。ConfirmDialog用于展示重要信息或操作,提供确定和取消按钮,点击事件可通过接口回调处理。
最低0.47元/天 解锁文章
915

被折叠的 条评论
为什么被折叠?



