我的TextView扩展功能:
fun TextView.setColorifiedText(text : String) {
// Some logic to change color of text
setText(text)
}
我的具有数据绑定的xml文件:
<layout>
<data>
<!--some data-->
</data>
<LinearLayout>
<TextView
android:setColorifiedText="some text to be colorified"
/>
</LinearLayout>
</layout>
答案 0 :(得分:1)
是的,可以访问为XML视图编写的扩展功能。
我们在扩展功能名称前加上“ set”前缀,并在“ BindingAdapter”注释中对其进行注释,例如: 如果您的扩展功能名称为'colorText',请将其更改为'setColorText',然后从属性'app:'命名空间中使用属性名称为'colorText'的XML进行访问。 另外,使用@BindingAdapter(“ colorText”)
注释扩展功能。@BindingAdapter("colorText")
fun TextView.setColorText(text : String) {
// logic to something with the text
}
在XML中:
<TextView
app:colorText="your String" />
您还可以使用kotlin的setter getter来修改代码
如果是Java,则将该函数声明为静态函数,然后在该方法中添加一个参数,以获取对该属性赋予的textview的引用。