在Type.kt排版中,我这样定义了h1 TextStyle:
h1 = TextStyle(
fontFamily = FontFamily.SansSerif,
fontWeight = FontWeight.W500,
fontSize = 70.sp,
color = Color(0xFFF8F9FC)
),现在,如何将文本小部件定义为h1,以便自动应用这些TextStyles?
发布于 2021-10-28 14:28:31
您可以使用MaterialTheme.typography.h1从任何@Composable获取当前主题h1,因此您的小部件可能如下所示:
@Composable
fun TextH1(
text: String,
modifier: Modifier = Modifier,
) {
Text(
text = text,
modifier = modifier,
style = MaterialTheme.typography.h1,
)
}发布于 2021-10-28 14:22:24
如果您计划对要标识为h1的所有文本全局使用样式,则应为其创建自定义composable,并在其中应用您的样式:
@Composable
fun TextH1(
text: String,
modififer: Modifier = Modifier
) {
Text(text = text, modifier = modifier, textStyle = h1)
}或者,您也可以使用CompositionLocal,但如果广泛使用,就会变得很麻烦。
https://stackoverflow.com/questions/69755642
复制相似问题