Как установить выбранное состояние кнопки изображения с помощью XML

StackOverflow https://stackoverflow.com/questions/2237265

Вопрос

У меня есть кнопка изображения, как определено ниже.

<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" />

Я хочу установить состояние по умолчанию для выбранной кнопки.Итак, в коде я бы сказал:

playBtn.setSelected(true);

Можно ли это сделать в xml?

Это было полезно?

Решение

Не похоже, что вы сможете — извините!

Другие советы

Более новым решением проблемы было бы использование DataBinding.

  1. Создать @BindingAdapter (где-то в вашем коде):
@BindingAdapter("is_selected")
fun setSelected(view: View, selected: Boolean) {
    view.isSelected = selected
}
  1. Использовать DataBinding в вашей 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>

ВАЖНЫЙ: помните, что вам нужно использовать DataBinding здесь.Поэтому вы не можете просто вызвать add is_selected="true" (поскольку не сообщать вам об этом не получится), вам нужно добавить is_selected="@{true}"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top