在目前将我的应用程序转换为 Jetpack compose 时,在某些情况下我面临着一些问题来适应我当前的调色板。
我的 xml 文件中有一些TextInputLayout
从我的主题上的 SECUNDARY 颜色继承了突出显示的文本颜色。
<style name="Theme.MyApp" parent="Theme.MaterialComponents.Light.NoActionBar">
...
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryVariant">@color/blue</item>
<item name="colorSecondary">@color/red</item>
<item name="colorSecondaryVariant">@color/red</item>
...
</style>
问题是我TextField
的 compose 继承了 PRIMARY 颜色的高亮文本颜色MaterialTheme
。
MaterialTheme(
colors = Colors(
primary = Color.Blue,
...
secondary = Color.Red,
...
),
content = content,
typography = MaterialTheme.typography,
shapes = MaterialTheme.shapes,
) {
TextField(...)
}
我覆盖了colors
参数,TextField
但似乎没有一个会影响这种颜色。
colors
是否有一种方法可以在不更改on的情况下覆盖 compose 上的突出显示颜色MaterialTheme
?我想避免这种情况,因为它可能会导致使用相同主题的其他屏幕出现问题。