TextInputLayout FilledBox boxBackgroundColor不适用于Alpha通道

时间:2019-01-02 07:54:30

标签: android android-textinputlayout androidx

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'

1 个答案:

答案 0 :(得分:0)

您需要在主题中设置colorSurface。它必须与基础布局的背景色匹配,否则您可能会得到其他一些奇怪的颜色。 TextInputLayout在内部合并了colorSurfaceboxBackgroundColor

来源: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>