您现在的位置是:亿华云 > 人工智能
HarmonyOS实战—ToastDialog组件的基本使用
亿华云2025-10-02 19:05:51【人工智能】0人已围观
简介想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.comTable of Contents1. ToastDialog 简介ToastDialog
想了解更多内容,战T组件请访问:
和华为官方合作共建的本使鸿蒙技术社区
https://harmonyos.51cto.com
Table of Contents
1. ToastDialog 简介
2. ToastDialog 案例
案例:点击按钮弹出一个2秒的战T组件弹框提示信息
ability_main
<?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:orientation="vertical"> <Text ohos:id="$+id:msg" ohos:height="match_content" ohos:width="match_content" ohos:text_size="30fp" ohos:text_color="#FFFFFF" ohos:text_alignment="center" ohos:background_element="#464343" /> </DirectionalLayout>MainAbilitySlice
package com.xdr630.toastapplication.slice; import com.xdr630.toastapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Button; import ohos.agp.components.Component; import ohos.agp.utils.LayoutAlignment; import ohos.agp.window.dialog.ToastDialog; public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); //找到界面中的按钮 Button but = (Button) findComponentById(ResourceTable.Id_but); //添加点击事件 but.setClickedListener(this); } @Override public void onActive() { super.onActive(); } @Override public void onForeground(Intent intent) { super.onForeground(intent); } @Override public void onClick(Component component) { //出现一个 ToastDialog 弹框 // this:表示当前的弹框展示在当前的站群服务器界面 ToastDialog td = new ToastDialog(this); //给ToastDialog设置要展示的文本内容 td.setText("吐司弹框出现了"); //设置居中 td.setAlignment(LayoutAlignment.CENTER); //设置出现的时间,单位:毫秒。本使下面就是战T组件设置弹框时间只有两秒 td.setDuration(2000); //让弹框出现 td.show(); } }运行:
注意事项:
基本使用: ToastDialog t = new ToastDialog(this); t.setText("要显示的本使内容") t.setAlignment(LayoutAlignment.CENTER); t.show(); 相关设置: ToastDialog toastDialog = new ToastDialog(this); //设置的大小 //如果不写,默认包裹内容 toastDialog.setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT,战T组件 DirectionalLayout.LayoutConfig.MATCH_CONTENT); //设置持续时间 //如果不写,默认2秒 toastDialog.setDuration(2000); //设置自动关闭 //如果不写,本使就是战T组件自动关闭 toastDialog.setAutoClosable(true); //设置位置 //如果不写,默认居中 toastDialog.setAlignment(LayoutAlignment.CENTER); //设置提示信息内容 toastDialog.setText("要显示的内容"); //让吐司展示出来 toastDialog.show();3. ToastDialog 抽取工具类
ToastDialog 扩展
可以给ToastDialog弹框一个布局 把ToastDialog抽取到一个工具类当中,以后用到弹框的时候就不需要再写了,直接调用工具类的方法就可以了案例:
新建一个布局文件,名为:mytoast
mytoast.xml
<?xml version="1.0" encoding="utf-8"?> <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" ohos:height="match_content" ohos:width="match_content" ohos:text_size="30fp" ohos:text_color="#FFFFFF" ohos:text_alignment="center" ohos:background_element="#464343" /> </DirectionalLayout>新建工具包和类
ToastUtils
package com.xdr630.toastapplication.MyToastUtils; import com.xdr630.toastapplication.ResourceTable; import ohos.agp.components.DirectionalLayout; import ohos.agp.components.LayoutScatter; import ohos.agp.components.Text; import ohos.agp.utils.LayoutAlignment; import ohos.agp.window.dialog.ToastDialog; import ohos.app.Context; public class ToastUtils { public static void showDialog(Context context,String message){ //1.把 xml 文件加载到内存当中 DirectionalLayout dl = (DirectionalLayout) LayoutScatter.getInstance(context).parse(ResourceTable.Layout_mytoast, null, false); //2.获取到当前布局对象中的文本组件 Text msg = (Text) dl.findComponentById(ResourceTable.Id_msg); //3.把需要提示的信息设置到文本组件 msg.setText(message); //4.创建一个ToastDialog对象 ToastDialog td = new ToastDialog(context); //设置弹框的大小,默认是包裹内容 //宽高都要设置 td.setSize(DirectionalLayout.LayoutConfig.MATCH_CONTENT,DirectionalLayout.LayoutConfig.MATCH_CONTENT); //设置出现的时间 td.setDuration(2000); //设置对齐方式 td.setAlignment(LayoutAlignment.CENTER); //把 xml 对象交给ToastDialog td.setContentCustomComponent(dl); //让弹框出现 td.show(); } } 在 MainAbilitySlice 中修改 onClick 方法中去调用工具类方法运行:
点击
想了解更多内容,请访问:
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.51cto.com
很赞哦!(7121)
上一篇: 数据中心的网络安全操作规范
下一篇: 专家视点:减少数据中心的碳足迹