Я хочу иметь кнопку «Войти через 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"/>
Как сделать иконку не тонированной?
Я уже нашел решение, только что поменял цвет 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"/>
Значок с реальным цветом показывает черный фон
Вы также можете использовать белый цвет как 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 не сработал, но это то, что наконец заставило этот дурацкий цвет исчезнуть.
Принятый ответ не работает с OutlinedButton. Это решение также работает с OutlinedButton ?