文本输入布局填充框“背景颜色不应用 Alpha 通道



TextInputLayout boxBackgroundColor 不应用 alpha 通道。当我将应用程序合并到AndroidX时,就会发生这种情况。在合并之前,一切都运行良好。

当boxBackgroundColor为"#77ff0000"时,当我将boxBackgroundColor设置为透明时,颜色显示为浅红色,颜色显示为白色。它绘制背景,例如首先用白色填充,然后应用给定的框背景颜色。

格拉德尔:

implementation 'androidx.appcompat:appcompat:1.1.0-alpha01' 
implementation 'com.google.android.material:material:1.1.0-alpha02'
您需要

在主题中设置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>

最新更新