在alpha材质按钮上设置backgroundTint在正常和按下状态下会产生奇怪的视觉效果

时间:2019-06-11 01:25:20

标签: android material-design material-components material-components-android

我在项目中使用“材质按钮”,并尝试将alphaTint设置为backgroundTint。

true

但是,在正常状态下,生成的按钮看起来很奇怪,而在按下时甚至更奇怪。
enter image description here
当我将backgroundTint设置为特定的灰色阴影(例如#777777)时,我没有看到此问题。为什么使用alpha值会发生这种情况?

3 个答案:

答案 0 :(得分:2)

对于部分不透明的提升材质视图,我们也遇到了同样的问题。

Weird octagonal shadow artifacts

只需添加android:stateListAnimator="@null"即可删除可见的阴影伪影。

我们还将elevation设置为0dp,我认为这不是必需的。

答案 1 :(得分:0)

您很可能看到下面的阴影。看来Material Design的阴影很奇怪。感觉阴影只是在侧面,因为您不希望看到阴影。

您可以通过使用不升高的按钮(style="@style/Widget.MaterialComponents.Button.UnelevatedButton")来修复它,也可以尝试重新创建没有alpha的灰色阴影(可以截取没有阴影怪异的部分并使用吸管来获取RGB颜色) )

此外,似乎您正在尝试更改选择器的颜色。 可以使用app:rippleColor="@color/yourRippleColor"来实现。根据材料组件文档(Material Component: Button),背景色会更改按钮本身的颜色。调整Alpha可以调整颜色的不透明度,从而使按钮更加透明/不透明,使您可以在其下方看到它。

答案 2 :(得分:0)

您只需要更改“材质按钮”的样式属性。

style="@style/Widget.MaterialComponents.Button.UnelevatedButton"