#android #kotlin #android-jetpack-compose
Вопрос:
В типографии Type.kt я определил стиль текста h1 следующим образом:
h1 = TextStyle( fontFamily = FontFamily.SansSerif, fontWeight = FontWeight.W500, fontSize = 70.sp, color = Color(0xFFF8F9FC) ),
Теперь, как я могу определить текстовый виджет как h1, чтобы эти стили текста применялись автоматически?
Ответ №1:
Если вы планируете использовать свой стиль глобально для всего текста, который вы хотите идентифицировать как h1, вам следует создать настраиваемую композицию для этого и применить свой стиль там:
@Composable fun TextH1( text: String, modififer: Modifier = Modifier ) { Text(text = text, modifier = modifier, textStyle = h1) }
В качестве альтернативы вы можете использовать CompositionLocal, но это, как правило, становится громоздким, если его широко использовать.
Ответ №2:
Вы можете получить текущую тему h1
из любого @Composable
MaterialTheme.typography.h1
приложения , поэтому ваш виджет может выглядеть следующим образом:
@Composable fun TextH1( text: String, modifier: Modifier = Modifier, ) { Text( text = text, modifier = modifier, style = MaterialTheme.typography.h1, ) }