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?

Était-ce utile?

La solution

Il ne ressemble pas à vous le pouvez - désolé

Autres conseils

Une solution nouvelle au problème serait d'utiliser DataBinding.

  1. Créer un @BindingAdapter (quelque part dans votre code):
@BindingAdapter("is_selected")
fun setSelected(view: View, selected: Boolean) {
    view.isSelected = selected
}
  1. Utilisez DataBinding dans votre xml
<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
scroll top