> 文档中心 > HarmonyOS APP开发入门3——组件(五 ToastDialog信息提示组件 )

HarmonyOS APP开发入门3——组件(五 ToastDialog信息提示组件 )


HarmonyOS APP开发入门3——组件(五 ToastDialog信息提示组件 )

文章目录

  • HarmonyOS APP开发入门3——组件(五 ToastDialog信息提示组件 )
        • 5.ToastDialog信息提示组件

5.ToastDialog信息提示组件

ToastDialog是在窗口上方弹出的对话框,是通知操作的简单反馈。ToastDialog会在一段时间后消失,在此期间,用户还可以操作当前窗口的其他组件。

也叫做吐司弹框。其实就是一个小提示而已。ToastDialog是CommonDialog的子类,所以具备CommonDialog相关的特性。

也包含了标题,内容还有选择按钮。但是一般来讲,吐司弹框我们只用中间的内容部分,因为他出现的意义就是为了提示信息的。

构造方法

构造方法 描述
ToastDialog(Context context) 创建一个对话框实例

常用方法

接口名 描述
setAlignment(int gravity) 设置对话框的对齐属性。
setComponent(Component component) 自定义内容区域。
setOffset(int offsetX, int offsetY) 设置对话框偏移量。
setSize(int width, int height) 设置对话框尺寸
setText(String textContent) 设置对话框显示内容。
show() 显示对话框。

创建一个ToastDialog

new ToastDialog(getContext()) .setText("This is a ToastDialog") .show();

设置位置

new ToastDialog(getContext())    .setText("This is a ToastDialog displayed in the middle")    .setAlignment(LayoutAlignment.CENTER)    .show();

自定义ToastDialog的Component

Java代码

DirectionalLayout toastLayout = (DirectionalLayout) LayoutScatter.getInstance(this)      .parse(ResourceTable.Layout_layout_toast, null, false);new ToastDialog(getContext())    .setContentCustomComponent(toastLayout)    .setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT)    .setAlignment(LayoutAlignment.CENTER)    .show();

layout_toast.xml布局

<DirectionalLayout    xmlns:ohos="http://schemas.huawei.com/res/ohos"    ohos:height="match_content"    ohos:width="match_content"    ohos:orientation="vertical">    <Text ohos:id="$+id:msg_toast" ohos:height="match_content" ohos:width="match_content" ohos:left_padding="16vp" ohos:right_padding="16vp" ohos:top_padding="4vp" ohos:bottom_padding="4vp" ohos:layout_alignment="center" ohos:text_size="16fp" ohos:text="This is a ToastDialog for the customized component" ohos:background_element="$graphic:background_toast_element"/></DirectionalLayout>    

background_toast_element.xml

<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:shape="rectangle">    <corners ohos:radius="30vp"/>    <solid ohos:color="#66808080"/></shape>

基本使用

ToastDialog t = new ToastDialog(this); t.setText("要显示的内容");t.setAlignment(LayoutAlignment.CENTER); t.show();

相关设置

ToastDialog toastDialog = new ToastDialog(this); //设置的大小 //如果不写,默认包裹内容 toastDialog.setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT, DirectionalLayout.LayoutConfig.MATCH_CONTENT); //设置持续时间 //如果不写,默认2秒toastDialog.setDuration(2000); //设置自动关闭 //如果不写,就是自动关闭 toastDialog.setAutoClosable(true); //设置位置 //如果不写,默认居中 toastDialog.setAlignment(LayoutAlignment.CENTER); //设置提示信息内容 toastDialog.setText("要显示的内容"); //让吐司展示出来 toastDialog.show();

自定义布局和抽取工具类

一般会把吐司提示信息封装成一个工具类,用到的时候再调用,这样可以自定义吐司里面的文本的样式。在后面我们会学习美化组件,让吐司跟咱们在玩app的时候看到的弹框保持一致。

public class MyToastUtils {public static void showDialog(Context context,String msg){  //1.加载xml布局文件  DirectionalLayout dl = (DirectionalLayout);  LayoutScatter.getInstance(context).parse(ResourceTable.Layout_mytoast, null, false);  //创建吐司弹框的对象  ToastDialog td = new ToastDialog(context);  //设置吐司的大小 td.setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT,DirectionalLayout.LayoutConfig.MATCH_CONTENT);  //设置出现的时间  td.setDuration(2000);  //设置自动关闭  td.setAutoClosable(true);  //设置对齐方式  td.setAlignment(LayoutAlignment.CENTER);  //给吐司弹框设置要展示的文本内容 td.setText(msg);  //让吐司弹框出现  td.show();     } }

喜欢本博文可以点击关注哦!!!!