鸿蒙Canvas中drawText如何处理文字自动换行

需要实现Android下Canvas绘制超长文字自动换行的效果,Android 中可以使用StaticLayout处理绘制文字自动换行的功能

鸿蒙Canvas中drawText如何处理文字自动换行-鸿蒙开发者社区

 

鸿蒙中找到SimpleTextLayout类,但是直接在Canvas使用不会换行,请问需要如何处理

 

鸿蒙代码,处理超长文字不会换行:

        Paint paint = new Paint();
        paint.setAntiAlias(true);
        paint.setColor(Color.BLACK);
        paint.setTextSize(70);
        String text = "换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行测试换行";
        addDrawTask(new DrawTask() {
            @Override
            public void onDraw(Component component, Canvas canvas) {
                SimpleTextLayout textLayout = new SimpleTextLayout(text, paint, new Rect(0, 0, getWidth(), getHeight()), getWidth());
                textLayout.drawText(canvas);
            }
        });

运行效果还是单行

鸿蒙Canvas中drawText如何处理文字自动换行-鸿蒙开发者社区

 
Canvas
文字换行
drawText
2021-04-28 11:26:43
浏览
已于2021-4-28 11:32:18修改
收藏 1
回答 1
待解决
回答 1
按赞同
/
按时间
奶盖

楼主考虑设置下允许多行multiple_lines

分享
微博
QQ
微信
回复
2021-05-06 14:57:41
相关问题
在ArkTS如何处理耗时操作?
261浏览 • 1回复 待解决
父组件如何处理子组件内点击事件
2516浏览 • 1回复 待解决
HarmonyOS使用canvas如何使文字垂直居中
309浏览 • 1回复 待解决
HarmonyOS 大整数如何处理
254浏览 • 1回复 待解决
TextInput输入行满时无法自动换行
201浏览 • 1回复 待解决
应用线程过多时如何处理
1739浏览 • 1回复 待解决
如何处理Redis的内存优化?
2656浏览 • 1回复 待解决
编译报错,信息不足如何处理啊?
146浏览 • 1回复 待解决
如何处理webview显示元素尺寸过小
2015浏览 • 1回复 待解决
如何处理应用卡死(appfreeze)问题
1784浏览 • 1回复 待解决
蓝牙连接报错该如何处理
197浏览 • 1回复 待解决
如何处理tabs嵌套web滑动场景
315浏览 • 1回复 待解决
ArkTS后台代理提醒,需要如何处理
758浏览 • 1回复 待解决
求大佬告知如何处理大整数
229浏览 • 1回复 待解决
注册监听关机事件,该如何处理
631浏览 • 1回复 待解决
ArkTS语法校验报错,该如何处理啊?
674浏览 • 1回复 待解决