1.问题出现
跟着Jetpack compose从入门到实战学习,学到Text多样式时,遇到了一个问题,代码如下图:
在buildAnnotatedString中前两个withstyle指定style为SpanStyle然后通过stringResource获取资源是正常的,在第三个中使用ParagraphStyle,此时通过stringResource获取资源就会报错。原书中使用的是硬编码,是可以编译通过的。
2.尝试解决过程
尝试单独在Text()之外又写了一个Text(),直接指定style为ParagraphStyle,此时Text()会直接报错,查看ParagraphStyle源码说明,只说了其修饰的是一整个段落为不是character级别。我们使用Text必定是string应该属于character级别,但是硬编码“xxxxx”是不报错的,硬编码是可以转成所谓的段落类型?尝试了一下不知道用什么方式转换。。。。
3.总结
尝试了几番后,有以下几点需要解决
- 在Text中通过buildAnnotatedString,使用withStyle指定style为ParagraphStyle后,文本不能使用stringResource获取,只能硬编码,这个问题是最想解决的
- 在Text中不能指定style为ParagraphStyle
- 如何将Text转成Paragraph
4.求助
寻求大佬解答,感谢