我正在将 Compose 库中包含的
SearchBar
与 Material3 一起使用:androidx.compose.material3.SearchBar
。
(问题 1)我正在尝试对其进行一些自定义,但我不知道如何为输入文本设置自定义字体。不过,我可以为占位符文本设置自定义字体。
SearchBar(
modifier = Modifier.fillMaxWidth(),
placeholder = {
Text(
text = searchPlaceHolder,
style = MaterialTheme.typography.h4, //my custom style - font
color = Color.Gray
)
},
(...)
)
(问题2)此外,我不知道如何修改
SearchBar
的高度或减少填充以使占位符文本居中。
我发现的唯一方法是:
ProvideTextStyle(value = MaterialTheme.typography.displayMedium) {
SearchBar() {}
}
在引擎盖下,SearchBar 使用 BasicTextField,其样式设置为 LocalTextStyle.current
SearchBar -> SearchBarInputField -> BasicTextField(textStyle = LocalTextStyle.current.merge(TextStyle(color = textColor)))
很高兴知道是否有人找到了更好的方法。