Basé sur le thème de l'application sélectionnée (Dark ou Light) J'ai deux ensembles différents de dessinables (aussi, Dark and Light). Si j'ai besoin de mettre à jour l'état d'un bouton, disons, mettre à jour le bouton pause/lecture, comment ferais-je cela puisque je ne peux pas référencer l'original sans connaître le thème actuel.bouton de changement Android programme basé sur le thème
Par exemple, styles.xml
<style name="Theme.ServeStream.Dark" parent="@style/Theme.AppCompat">
<item name="attr/ic_action_pause_over_video">@drawable/ic_action_pause_over_video_dark</item>
<item name="attr/ic_action_play_over_video">@drawable/ic_action_play_over_video_dark</item>
<item name="attr/ic_action_previous">@drawable/ic_action_previous_dark</item>
<item name="attr/ic_action_next">@drawable/ic_action_next_dark</item>
</style>
<style name="Theme.ServeStream.Light" parent="@style/Theme.AppCompat.Light">
<item name="attr/ic_action_pause_over_video">@drawable/ic_action_pause_over_video_light</item>
<item name="attr/ic_action_play_over_video">@drawable/ic_action_play_over_video_light</item>
<item name="attr/ic_action_previous">@drawable/ic_action_previous_light</item>
<item name="attr/ic_action_next">@drawable/ic_action_next_light</item>
</style>
attrs.xml:
<attr name="ic_action_pause_over_video" format="reference" />
<attr name="ic_action_play_over_video" format="reference" />
<attr name="ic_action_previous" format="reference" />
<attr name="ic_action_next" format="reference" />
Cependant, le code suivant ne compile pas:
mPauseButton.setImageResource(R.drawable.ic_action_pause_over_video);
Merci, ça a marché! –