android-jetpack-compose - Jetpack Compose Text 组件中的等宽数字
问题描述
我在我的 Jetpack Compose 应用程序中使用自定义字体,并希望将特定文本组件中的数字等宽。
使用标准的 Android TextView,这可以使用fontFeatureSetting="tnum"
属性 ( https://stackoverflow.com/a/41143337/2521749 ) 来完成。
如何使用 Jetpack Compose 做到这一点?
解决方案
buildAnnotatedString
需要自定义字符串的不同部分。
如果需要对整体应用一些文本样式Text
,可以使用style
参数。
Text(
text = String.format(Locale.ROOT, "%02d:%02d", mins, secs),
style = LocalTextStyle.current.copy(fontFeatureSettings = "tnum"),
)
我在LocalTextStyle.current
这里使用,这是 的默认样式Text
,但是您可以将其替换为您需要的样式,例如您的主题排版之一:MaterialTheme.typography.h4
推荐阅读
- json - Postman - 如何从 JSON 响应中获取最后一次出现所需属性的值
- javascript - 本地 Javascript Fetch Post 请求失败,调用 ASP.NET Core 2.2 Web API。CORS 已启用
- ios - Swift - 如何通过其属性重新排列表格视图中的所有单元格?
- javascript - Express 中的静态文件呈现原始代码而不是呈现正确的 HTML
- c++ - 为什么这个简单的功能不去虚拟化?
- machine-learning - 了解用于计算机视觉的卷积网络中过滤器的概念
- react-native - 如何在地图标注中使用 TouchableOpacity?
- javascript - 如何在 android 包导入问题中捕获图像?
- python - bin() 的意外结果
- php - 更新后如何正确转发到另一个视图