鸿蒙系统下自定义Toast的实现
Tiechui.Wang 2021-03-26 10:00:00 发布3480 浏览 29 点赞 20 收藏
本文介绍Homary OS下基于ToastDialog自定义Toast实现的方法。
ToastDialog类的相关方法
https://developer.harmonyos.com/cn/docs/documentation/doc-references/toastdialog-0000001054440045
Toast的简单实现
public static void showSimpleToast(Context context, String toastStr){
new ToastDialog(context).setDuration(500).setText(toastStr).setAlignment(LayoutAlignment.CENTER).show();
}
这种方法直接利用ToastDialog类的setText方法,默认背景色为白色,字体为黑色,显示效果不是很好
自定义Toast的实现
public static void showCustomText(Context context, String toastStr){
Text textComponent = new Text(context);
textComponent.setText(toastStr);
int padding = DeviceUtils.vpToPx(context, 10);
//设置间距为10vp
textComponent.setPadding(padding, padding, padding, padding);
textComponent.setTextColor(Color.WHITE);
textComponent.setTextAlignment(TextAlignment.CENTER);
textComponent.setTextSize(DeviceUtils.vpToPx(context, 20));
ShapeElement shapeElement = new ShapeElement();
shapeElement.setShape(ShapeElement.RECTANGLE);
//设置背景半透明
shapeElement.setRgbColor(RgbColor.fromArgbInt(Color.argb(127, 0, 0, 0)));
textComponent.setBackground(shapeElement);
//设置文字允许多行
textComponent.setMultipleLine(true);
DirectionalLayout.LayoutConfig layoutConfig = new DirectionalLayout.LayoutConfig();
layoutConfig.width = ComponentContainer.LayoutConfig.MATCH_CONTENT;
layoutConfig.height = ComponentContainer.LayoutConfig.MATCH_CONTENT;
layoutConfig.alignment = LayoutAlignment.CENTER;
textComponent.setLayoutConfig(layoutConfig);
ToastDialog toastDialog = new ToastDialog(context).setDuration(500).setComponent(textComponent).setAlignment(LayoutAlignment.CENTER);
//设置弹框背景透明
toastDialog.setTransparent(true);
toastDialog.show();
}
这种方法直接利用ToastDialog类的setComponent方法,自定义视图,能够达到较好的UI效果:

至此,自定义Toast已经实现!
©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
其它
标签
鸿蒙
相关推荐
鸿蒙实战项目案例_从零构建完整应用的完整复盘
周正
75
0鸿蒙生物识别开发:从指纹识别到3D人脸识别的完整指南
周正
199
0鸿蒙NFC开发实战:从读卡器模式到卡模拟的完整实现
周正
43
0鸿蒙加密存储开发:数据安全保护的完整方案
周正
97
0鸿蒙应用签名与上架完整流程:从开发到发布的实战指南
周正
63
0
Tiechui.Wang
我还没有写个人简介......
1091
帖子
0
提问
893
粉丝
最新发布
华为应用市场增长优化师火热认证中
2025-03-10 10:16:02 发布华为应用市场斩获Pocket Gamer2023年移动游戏奖,全球第三大移动应用生态获行业认可
2024-04-27 11:06:07 发布热门推荐