Android Compose Material3 的 SearchBar 文本样式

问题描述 投票:0回答:1

我正在将 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
的高度或减少填充以使占位符文本居中。

澄清图片:

android android-jetpack-compose searchbar material3
1个回答
0
投票

我发现的唯一方法是:

ProvideTextStyle(value = MaterialTheme.typography.displayMedium) { 
        SearchBar() {}
}

在引擎盖下,SearchBar 使用 BasicTextField,其样式设置为 LocalTextStyle.current

SearchBar -> SearchBarInputField -> BasicTextField(textStyle = LocalTextStyle.current.merge(TextStyle(color = textColor)))

很高兴知道是否有人找到了更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.