Luk*_*uke 2 android kotlin android-jetpack-compose
在 Compose 中,我们AnnotatedString使用Spanned. 但是,我似乎无法找到一种方法来使用SpanStyle复制relativesizespan的行为。
我可以看到的相关选项SpanStyle是:
TextGeometricTransform仅执行 X 变换,并且我需要在 X 和 Y 方向上缩放文本。有人可以分享一些见解吗?
您可以使用 来实现SpanStyle,但需要使用em TextUnit,它是相对字体大小单位。这意味着1em等于当前字体大小,2em是两倍大的字体。
下面的代码演示了它在两个Texts不同字体大小的情况下的行为方式:
val annotatedString = buildAnnotatedString {
append("This is a ")
withStyle(style = SpanStyle(fontSize = 2.em)) {
append("big")
}
append(" text")
}
Column {
Text(annotatedString, fontSize = 20.sp)
Text(annotatedString, fontSize = 40.sp)
}
Run Code Online (Sandbox Code Playgroud)
“大”这个词比同一个词中的其他词大 2 倍Text。
您还可以看到,它使第一个大Text单词的大小 ( 2 * 20sp ) 与第二个单词中的其他单词Text( 40sp ) 相同。
| 归档时间: |
|
| 查看次数: |
672 次 |
| 最近记录: |