在as當(dāng)中怎么使用呢提茁?
在app build.gradle ,放入android目錄下馁菜,如下
// dataBinding 加入
dataBinding {
enabled = true
}
1.常見(jiàn)語(yǔ)言環(huán)境是在Activity茴扁、Fragment和Adapter(可以是在ListView、RecyclerView)汪疮;
setContentView是來(lái)源于 AppCompatActivity當(dāng)中峭火,layout布局文件當(dāng)中以layout開(kāi)頭,而不是傳統(tǒng)的5大布局智嚷,不過(guò)卖丸,子布局依然是;
@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);
}
對(duì)于布局當(dāng)中的ImageView盏道、TextView只需要通過(guò)mBaseBinding + id 來(lái)鏈接稍浆,這里是DrawerLayout、NavigationView說(shuō)明:
drawerLayout = mBinding.drawerLayout;
navView = mBinding.navView;
(2).在res文件夾下是以layout開(kāi)頭,而不是傳統(tǒng)的RelativeLayout粹湃、LinearLayout等開(kāi)頭恐仑,如下是一個(gè)layout.xml文件;如果該文件名為layout_fragment.xml那么會(huì)默認(rèn)生成一個(gè)FragmentLayoutDataBinding類(lèi);
<?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="加載失敗,點(diǎn)擊重試"
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文件下,即我們不需要關(guān)注
3.在Adapter當(dāng)中是怎么使用的呢孤钦?
我們比較常用的有ListView歧斟、GridView以及RecyclerView,都需要Adapter偏形,那么我們?nèi)∏删残洌旅嬉訰ecyclerView為例;