TextInputLayout boxBackgroundColor不适用于Alpha通道。当我将应用程序合并到AndroidX时发生了这种情况。合并之前,一切工作正常。
当boxBackgroundColor为“#77ff0000”时,将boxBackgroundColor设置为透明时,颜色显示为浅红色,颜色显示为白色。它像先用白色填充一样绘制背景,然后应用给定的boxBackgroundColor。
等级:
implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
implementation 'com.google.android.material:material:1.1.0-alpha02'
答案 0 :(得分:0)
您需要在主题中设置colorSurface
。它必须与基础布局的背景色匹配,否则您可能会得到其他一些奇怪的颜色。 TextInputLayout
在内部合并了colorSurface
和boxBackgroundColor
。
来源:TextInputLayout#calculateBoxBackgroundColor()
解决问题的示例:
<style name="MyTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="textInputStyle">@style/MyTextInputLayout</item>
<item name="colorSurface">#FFFFFFF</item>
</style>
<style name="MyTextInputLayout" parent="@style/Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="boxBackgroundColor">#77FF0000</item>
</style>