1、數據綁定庫是一個支持庫,允許您使用聲明式格式將佈局中的UI組件綁定到應用程序中的數據源。這樣不僅提高應用性能,而且有助於防止內存泄漏以及避免發生空指針異常。例如:
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.myapp.data.ViewModel" />
</data>
<ConstraintLayout... /> <!-- UI layout's root element -->
</layout>
注意:爲了只替代findViewById,可以使用視圖綁定。
視圖綁定與數據綁定的區別:
視圖綁定和數據綁定庫均會生成可用於直接引用視圖的綁定類。不過,這兩者之間存在明顯差異:
- 數據綁定庫僅處理使用
<layout>
代碼創建的數據綁定佈局。 - 視圖綁定不支持佈局變量或佈局表達式,因此它不能用於在 XML 中將佈局與數據綁定。
總結:視圖綁定更加籠統,整個module都是視圖綁定,根據xml,不過可以忽略部分佈局。但是沒有數據綁定靈活。
2、使用參考文章
https://www.jianshu.com/p/7de37ca38d0e
自定義控件使用:https://blog.csdn.net/qq_35201868/article/details/79570560