Как удалить оттенок значка в кнопке материала?

Я хочу иметь кнопку «Войти через Google» с белым фоном и цветным значком, но когда я использую этот значок Google, он всегда затемняется.

  <android.support.design.button.MaterialButton
    style = "@style/Widget.MaterialComponents.Button.Icon"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:text = "Sign in with Google"
    app:icon = "@drawable/ic_google_colored"/>

Как сделать иконку не тонированной?

27
0
6 933
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Я уже нашел решение, только что поменял цвет iconTintMode и iconTint

  <android.support.design.button.MaterialButton
    style = "@style/Widget.MaterialComponents.Button.Icon"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:text = "Sign in with Google"
    app:icon = "@drawable/ic_google_colored"
    app:iconTint = "@android:color/transparent"
    app:iconTintMode = "add"/>

Я открыт для лучших решений

Используйте этот значок и закройте оттенок, чтобы показать настоящий цвет

  app:icon = "@drawable/ic_google"
  app:iconTint = "@null"

Пример

<Button
  android:id = "@+id/idGoogle"
  android:layout_width = "match_parent"
  android:layout_height = "wrap_content"
  app:icon = "@drawable/ic_google"
  app:iconTint = "@null"/>

Значок с реальным цветом показывает черный фон

Принятый ответ не работает с OutlinedButton. Это решение также работает с OutlinedButton ?

Ishaan Garg 23.08.2020 13:37

Вы также можете использовать белый цвет как iconTint и использовать multiply как iconTintMode для красочных значков.

 app:iconTint = "@color/white"
 app:iconTintMode = "multiply"

Ни один из этих ответов не помог мне. Но после долгих экспериментов я обнаружил, что это помогло.

<Button
    android:layout_width = "100dp"
    android:layout_height = "100dp"
    android:scaleType = "fitCenter"
    android:background = "#0000"
    android:foreground = "@android:drawable/ic_menu_camera"
    />

Вроде ключ android:background = "#0000". Не знаю, почему @null не сработал, но это то, что наконец заставило этот дурацкий цвет исчезнуть.

Другие вопросы по теме