多次使用自定义ToastDialog显示toast,显示过慢,无法立刻显示最新toast
使用自定义ToastDialog连续多次显示toast,toast连续显示时过慢,无法立刻显示最新toast,并且app卡顿,疑似线程阻塞。
请问是否有办法解决
鸿蒙
HarmonyOS
自定义
赞
收藏 0
回答 2
待解决
相关问题
鸿蒙组件toast自定义样式
5848浏览 • 1回复 待解决
为什么服务卡片不能自定义名称,只显示应用名?
3647浏览 • 1回复 待解决
关于鸿蒙自定义控件不显示问题记录怎么回事?
4135浏览 • 1回复 待解决
ArkTS可以使用Toast吗?
369浏览 • 1回复 待解决
自定义组件嵌套子组件
6751浏览 • 3回复 待解决
js 自定义组件如何传递方法?
3809浏览 • 2回复 待解决
智慧推荐可以自定义app吗
5363浏览 • 1回复 待解决
自定义组件中如何添加图片?
343浏览 • 1回复 待解决
Ark UI是否如何使用自定义字体
805浏览 • 1回复 待解决
鸿蒙app使用js显示地图
5037浏览 • 1回复 待解决
如何将通知栏中显示的通知内容完全显示,不让其省略显示
4162浏览 • 1回复 待解决
为何picker-view无法显示出来?
5102浏览 • 2回复 待解决
如何自定义Component 属性
12081浏览 • 3回复 待解决
函数内容没法toast!!!
5451浏览 • 3回复 待解决
【求助】自定义相机Camera2焦距异常
5807浏览 • 1回复 待解决
JS写小型系统应用不支持自定义组件? 引入自定义组件就报错说"xxx tag is not supported "
1569浏览 • 1回复 待解决
show databases显示问题
2612浏览 • 2回复 待解决
请问使用JAVA UI框架开发服务卡片时,支持使用自定义组件吗?
3619浏览 • 1回复 待解决
DevEco Device Tool 怎么自定义烧录文件的路径?
3684浏览 • 1回复 待解决
在继承FractionAbility声明定义TabList在layout中显示不出来
4643浏览 • 3回复 待解决
鸿蒙中如何自定义字体文件
15990浏览 • 1回复 待解决
JAVA卡片怎么用自定义组件?
4043浏览 • 1回复 待解决
JAVAUI Text设置自定义字体问题有知道的吗?
2385浏览 • 3回复 待解决
DevEco Device Tool主界面一直loading,无法显示。
7433浏览 • 1回复 待解决
为什么在 openGauss 中使用“explain timing”时显示错误?
443浏览 • 1回复 待解决
DialogToast的消失时间是可以设置的
你可以在dialogToast里面设置他的消失时间,最好跟你的线程绑定一下,也可以给你的线程一个睡眠时间,时间的大小与弹窗的消失时间一致就可以了。
可以试下以下代码,本地测试OK:
public class Toast {
private static final int TEXT_SIZE = 40;
private static final int TEXT_PADDING = 20;
private static final int TEXT_HEIGHT = 100;
private static final int TEXT_CORNER = 20;
private static final int TEXT_OFFSETY = 200;
private static final int TEXT_ALPHA = 120;
private Toast() {}
/**
* 吐司
*
* @param context the context
* @param text the toast content
* @param ms the toast ime,ms
*/
public static void show(Context context, String text, int ms) {
DependentLayout layout = new DependentLayout(context);
layout.setWidth(ScreenUtils.getScreenWidth(context));
layout.setHeight(TEXT_HEIGHT);
Text textView = new Text(context);
ShapeElement background = new ShapeElement();
background.setCornerRadius(TEXT_CORNER);
background.setRgbColor(new RgbColor(0, 0, 0, TEXT_ALPHA));
textView.setBackground(background);
DependentLayout.LayoutConfig config =
new DependentLayout.LayoutConfig(
DependentLayout.LayoutConfig.MATCH_CONTENT, DependentLayout.LayoutConfig.MATCH_CONTENT);
config.addRule(DependentLayout.LayoutConfig.HORIZONTAL_CENTER);
textView.setLayoutConfig(config);
textView.setPadding(TEXT_PADDING, TEXT_PADDING, TEXT_PADDING, TEXT_PADDING);
textView.setMaxTextLines(1);
textView.setTextSize(TEXT_SIZE);
textView.setMaxTextWidth(ScreenUtils.getScreenWidth(context));
textView.setTextColor(Color.WHITE);
textView.setText(text);
layout.addComponent(textView);
ToastDialog toastDialog = new ToastDialog(context);
toastDialog.setContentCustomComponent(layout);
toastDialog.setTransparent(true);
toastDialog.setOffset(0, TEXT_OFFSETY);
toastDialog.setSize(ScreenUtils.getScreenWidth(context), TEXT_HEIGHT);
toastDialog.setDuration(ms);
toastDialog.show();
}
}
使用方法:Toast.show()