Цвет кнопки изменения привязки данных во время выполнения - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть 3 кнопки в моем фрагменте, процесс идет следующим образом -

Когда я нажимаю первую кнопку, оставшаяся часть из двух цветов фона изменится на серебристый , а кнопка первой кнопки при нажатии изменится на цвет фона синий или светло-синий, указывая на активную кнопку щелчка.

С помощью (button = findviewbyid) сравнительно легко изменить свойства этой кнопки, такие как цвет во время выполнения, но я хочу использовать библиотеку databinding,

Как этого добиться?

1 Ответ

0 голосов
/ 27 апреля 2018

Создайте один класс модели и примите одно логическое значение для контрольного щелчка или нет, когда используется щелчок при нажатии кнопки, создайте условие, подобное этому.

В кнопке xml введите код ниже.

android:background="@{model.online == true ? @color/colorAccent : @color/colorPrimary}"

класс pojo.

public class Model {
private boolean isSelected;

public boolean isSelected() {
    return isSelected;
}

public void setSelected(boolean selected) {
    isSelected = selected;
}

}

А В xml определить переменную между тегами данных ..

        <variable
        name="model"         type="com.example.adruser.databindinglibrarydemo.model.SampleModel" />

сделать один метод в деятельности.

 public void onButtonClick(boolean status) {
    model.setOnline(status);
}

затем после вызова этого метода нажмите кнопку в xml, как это ..

  android:onClick="@{()->activity.onButtonClick(false)}"

дополнительную информацию вы можете найти по ссылке ниже:

https://developer.android.com/topic/libraries/data-binding/index.html

https://github.com/codepath/android_guides/wiki/Applying-Data-Binding-for-Views

...