首页 > 解决方案 > Android BindingAdapter 将默认行为设置为所有 TextView

问题描述

我有很多布局,我想将一些默认属性设置为我所有TextViews. 例如

@BindingAdapter("sensitive")
fun TextView.sensitive(value: Boolean) {
    if (value)
          visibility = View.GONE //or ViewUtils.BlackMeOut(this)
    else
        visibility = View.VISIBLE
}

有没有办法做到这一点而不添加:

 app:sensitive="@{true}"

90% TextViews?是的,我可以创建自己的TextView,但事实并非如此。以全局样式拥有它会很好

 <style name="SensitiveTextViewStyle" parent="android:Widget.TextView">
        <item name="sensitive">true</item>
    </style>

样式似乎不支持BindingAdapter

标签: androidandroid-binding-adapter

解决方案


推荐阅读