Я работаю над приложением для Android, и мне нужна кнопка с фоном и передним планом, которая представляет собой несколько значков.
Я хочу установить для backgroundTint и foregroundTint разные цвета, потому что это понадобится, когда я буду писать селекторы для цветов.
Проблема в том, что когда я устанавливаю foregroundTint:
- foregroundTintMode=multiply - оттенок фона в порядке, но значок переднего плана не меняет свой цвет
- foregroundTintMode!=multiply - оттенок переднего плана в порядке, но значок фона меняет свой цвет на foregroundTint, а не на backgroundTint
Я перепробовал все комбинации foregroundTintMode и backgroundTintMode, но безрезультатно.
Вот мой тестовый файл:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="euroicc.testfb.MainActivity"
android:background="@color/colorPrimary">
<Button
android:id="@+id/button"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/icon_background"
android:backgroundTint="@android:color/holo_blue_dark"
android:foreground="@drawable/icon_settings"
android:foregroundTint="@android:color/white"
tools:layout_editor_absoluteX="105dp"
tools:layout_editor_absoluteY="141dp" />
</RelativeLayout>
Примечание: изначально я работал с API уровня 17, но изменил его на 21. Я хотел бы, чтобы это приложение поддерживало как можно больше устройств.