Jee*_*eva 38 android-jetpack-compose
如何实现与textAllCapsJetpack Compose 中相同的效果,我知道我可以对toUpperCase字符串本身使用方法将字符串转换为大写。但我想知道是否有一个属性可以添加到可Text组合项中以直观地将文本转换为大写?
Text(
text = stringResource(id = R.string.app_name).toUpperCase(Locale.current)
)
Run Code Online (Sandbox Code Playgroud)
Phi*_*hov 34
没有这样的属性,但你可以自己创建它:
@Composable
fun CapsText(
text: String,
modifier: Modifier = Modifier,
color: Color = Color.Unspecified,
fontSize: TextUnit = TextUnit.Unspecified,
fontStyle: FontStyle? = null,
fontWeight: FontWeight? = null,
fontFamily: FontFamily? = null,
letterSpacing: TextUnit = TextUnit.Unspecified,
textDecoration: TextDecoration? = null,
textAlign: TextAlign? = null,
lineHeight: TextUnit = TextUnit.Unspecified,
overflow: TextOverflow = TextOverflow.Clip,
softWrap: Boolean = true,
maxLines: Int = Int.MAX_VALUE,
onTextLayout: (TextLayoutResult) -> Unit = {},
style: TextStyle = LocalTextStyle.current
) {
Text(
text = text.uppercase(),
modifier = modifier,
color = color,
fontSize = fontSize,
fontStyle = fontStyle,
fontWeight = fontWeight,
fontFamily = fontFamily,
letterSpacing = letterSpacing,
textDecoration = textDecoration,
textAlign = textAlign,
lineHeight = lineHeight,
overflow = overflow,
softWrap = softWrap,
maxLines = maxLines,
onTextLayout = onTextLayout,
style = style,
)
}
Run Code Online (Sandbox Code Playgroud)
小智 26
Text(
text = stringResource(id = R.string.app_name).uppercase()
)
Run Code Online (Sandbox Code Playgroud)
您只需添加.uppercase()到stringResource. 目前我正在使用 compose1.2.0-beta03版本。
小智 10
.toUpperCase(Locale.current) 已弃用并替换为 .uppercase() 示例用法如下:
Text(
text = ("any").uppercase()
)
Run Code Online (Sandbox Code Playgroud)
这将在 UI 中呈现为 ANY
你可以这样做:
keyboardOptions = KeyboardOptions(
capitalization = KeyboardCapitalization.Characters
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20534 次 |
| 最近记录: |