在as当中怎么使用呢?
在app build.gradle ,放入android目录下,如下
// dataBinding 加入
dataBinding {
enabled = true
}
1.常见语言环境是在Activity、Fragment和Adapter(可以是在ListView、RecyclerView);
setContentView是来源于 AppCompatActivity当中,layout布局文件当中以layout开头,而不是传统的5大布局,不过,子布局依然是;
@Override
public void setContentView(@LayoutRes int layoutResID) {
mBaseBinding = DataBindingUtil.inflate(LayoutInflater.from(this), R.layout.activity_base, null, false);
bindingView = DataBindingUtil.inflate(getLayoutInflater(), layoutResID, null, false);
}
对于布局当中的ImageView、TextView只需要通过mBaseBinding + id 来链接,这里是DrawerLayout、NavigationView说明:
drawerLayout = mBinding.drawerLayout;
navView = mBinding.navView;
(2).在res文件夹下是以layout开头,而不是传统的RelativeLayout、LinearLayout等开头,如下是一个layout.xml文件;如果该文件名为layout_fragment.xml那么会默认生成一个FragmentLayoutDataBinding类;
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/ll_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPageBg"
android:orientation="vertical">
<!--有可能直接显示(固定的布局,非必须,按需要添加)-->
<RelativeLayout
android:id="@+id/rl_content_part"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--加载失败-->
<LinearLayout
android:id="@+id/ll_error_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
<ImageView
android:id="@+id/img_err"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/load_err" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="加载失败,点击重试"
android:textSize="15sp" />
</LinearLayout>
<!--加载中..-->
<LinearLayout
android:id="@+id/ll_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="80dp"
android:gravity="center_vertical">
<ImageView
android:id="@+id/img_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/yun_anim" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="努力加载中..."
android:textColor="@color/colorTabText"
android:textSize="14sp" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</layout>
在App->build文件下,即我们不需要关注
3.在Adapter当中是怎么使用的呢?
我们比较常用的有ListView、GridView以及RecyclerView,都需要Adapter,那么我们取巧,下面以RecyclerView为例;