У меня есть ImageButton, который использует drawable / sampleimage.xml в качестве источника, и я использую MaterialDesign для своей темы приложения.
Мой макет для кнопки выглядит следующим образом:
<ImageButton
android:id="@+id/sampleButton"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/sampleimage.xml" />
Мой файл styles.xml выглядит следующим образом:
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
Я изменяю свою тему с настройкой в Android 10 или
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
и
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
на Android9.
Я не знаю, как определить для моей кнопки одну прорисовку, которая меняется в зависимости от выбранной темы. Я хочу использовать drawable / sampleimage_light.xml для светлой темы и drawable / sampleimage_dark.xml при использовании темной темы.