Comment puis-je configurer l'état sélectionné d'un bouton d'image avec xml
-
19-09-2019 - |
Question
J'ai un bouton d'image tel que défini ci-dessous.
<ImageButton
android:text="Play"
android:src="@drawable/playpause"
android:background="@drawable/opaque"
android:gravity="center_horizontal"
android:id="@+id/player_ctrl_btn"
android:layout_width="fill_parent"
android:padding="0px"
android:layout_height="wrap_content" />
Je veux définir l'état par défaut du bouton à sélectionner. Donc, dans le code, je dirais:
playBtn.setSelected(true);
Est-il possible de le faire en XML?
La solution
Il ne ressemble pas à vous le pouvez - désolé
Autres conseils
Une solution nouvelle au problème serait d'utiliser DataBinding
.
- Créer un
@BindingAdapter
(quelque part dans votre code):
@BindingAdapter("is_selected")
fun setSelected(view: View, selected: Boolean) {
view.isSelected = selected
}
- Utilisez
DataBinding
dans votrexml
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
</data>
<ImageButton
android:id="@+id/player_ctrl_btn"
is_selected="@{true}"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/opaque"
android:gravity="center_horizontal"
android:padding="0px"
android:src="@drawable/playpause"
android:text="Play" />
</layout>
IMPORTANT: rappelez-vous que vous devez utiliser DataBinding
ici. Donc, vous ne pouvez pas simplement appeler ajouter is_selected="true"
(car il échouera pas vous dire à ce sujet), vous devez ajouter is_selected="@{true}"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow