Установка backgroundTint для Material Кнопка с альфа имеет странный визуальный эффект в нормальном и нажатом состоянии - PullRequest
1 голос
/ 11 июня 2019

Я использую кнопки материалов в своем проекте и пытаюсь установить backgroundTint с альфа-значением.

<!-- background_tint.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/black" android:alpha="0.60"/>
</selector>

<!-- activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.button.MaterialButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="Sign in"
        app:backgroundTint="@color/background_tint" />
</LinearLayout>

Полученная кнопка, однако, выглядит странно в обычном состоянии и даже страннее при нажатии.
enter image description here
Я не вижу этой проблемы при установкеbackgroundTint к определенному оттенку серого, например # 777777.Почему это происходит с альфа-значением?

1 Ответ

0 голосов
/ 11 июня 2019

Вероятно, вы видите тень внизу.Кажется, что тени от Material Design странные.Такое ощущение, что тени находятся только по бокам, так как вы все равно их не видите.

Вы можете исправить это, используя неровную кнопку (style="@style/Widget.MaterialComponents.Button.UnelevatedButton") или пытаясь воссоздать этот оттенок серого.без альфы (возможно, снимая скриншот с части без странных теней и используя пипетку для получения цвета в RGB)

Кроме того, кажется, что вы пытаетесь изменить цвет селектора.Это может быть достигнуто с помощью app:rippleColor="@color/yourRippleColor".Оттенок фона меняет цвет самой кнопки в соответствии с документацией по компонентам материала ( Компонент материала: кнопка ).Регулировка альфа-канала регулирует непрозрачность цвета, делая вашу кнопку более прозрачной / непрозрачной, что позволяет видеть ее ниже.

...