RichTextLayout使用的问题

Java api: RichText设置setTextBackgroundColor(Color.YELLOW.getValue())无效,帖子中看到要结合RichTextLayout使用,RichTextLayout和RichText要怎么关联使用呢?

鸿蒙
HarmonyOS
OpenHarmony
2021-11-03 10:20:01
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Oolver
1

可以参考如下代码:

text.addDrawTask((component, canvas) -> {

Paint tempPaint = new Paint();

tempPaint.setTextSize(100);

tempPaint.setColor(Color.RED);

tempPaint.setMultipleLine(true);

tempPaint.setTextAlign(TextAlignment.LEFT);

RichTextBuilder builder = new RichTextBuilder();

builder.mergeForm(new TextForm().setTextSize(60).setTextColor(Color.BLACK.getValue()));

builder.mergeForm(new TextForm().setScaleX(1.5f).setStrikethrough(true));

builder.addText("scaleX1.5 删除线");

builder.revertForm();

builder.mergeForm(new TextForm().setTextBackgroundColor(Color.RED.getValue()).setLineHeight(100));

builder.addText("红色背景色 行高100");

builder.revertForm();

builder.mergeForm(new TextForm().setUnderline(true).setRelativeTextSize(1.5f));

builder.addText("下划线 1.5倍字体大小\n");

builder.revertForm();

builder.mergeForm(new TextForm().setSuperscript(true));

builder.addText("上标");

builder.revertForm();

builder.mergeForm(new TextForm().setSubscript(true));

builder.addText("下标");

builder.revertForm();

builder.addText("正常文字正常文字正常\n文字正常");

final RichText richTextContent = builder.build();

RichTextLayout layout = new RichTextLayout(richTextContent, tempPaint,

new Rect(0, 0, 1000, 1000), 1000);

layout.drawText(canvas);

});

分享
微博
QQ
微信
回复
2021-11-03 16:10:30
相关问题
关于xml中include使用问题
5661浏览 • 2回复 待解决
关于 DevEco Studio 使用语言问题
1185浏览 • 1回复 待解决
docker 线上使用一些问题
492浏览 • 1回复 待解决
元数据绑定框架使用问题
3839浏览 • 1回复 待解决
jenkins容器中使用docker报错问题
5324浏览 • 2回复 待解决
OpenHarmony 使用WEB组件传值问题
1251浏览 • 1回复 待解决
k8s 中使用 coredns 重写主机名问题
647浏览 • 1回复 待解决
ArkUI sdk9使用worker出现问题
1723浏览 • 1回复 待解决
求解分布式数据库使用问题?
2331浏览 • 1回复 待解决
hi3861三角函数无法使用问题
4504浏览 • 2回复 待解决
关于属性动画问题
8270浏览 • 3回复 待解决