现在butterknife 不好用了,要使用viewBinding 了
刚开始和这个妹子打交道,还不是很熟悉,
先来一发
首先在buide.gradle 里面的android 下添加viewBinding{ enable= true}

添加后写的layout xml 会自动生成layoutBinding
比如 我写了一个base_title.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:id="@+id/layoutTitle"
android:layout_height="@dimen/title_height">
<ImageView
android:id="@+id/iv_left_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:padding="10dp"
android:src="@drawable/ic_right_back"></ImageView>
<TextView
android:id="@+id/tv_base_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="通用标题"
android:textColor="@color/black"
android:textSize="18sp" />
<ImageView
android:id="@+id/iv_right_setting"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:padding="10dp"
android:src="@drawable/setting"
android:visibility="gone"></ImageView>
<TextView
android:id="@+id/iv_right_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:padding="10dp"
android:text="提交"
android:textColor="@color/c_edit_hint"
android:visibility="gone"></TextView>
<View
android:id="@+id/v_line"
android:layout_width="match_parent"
android:layout_height="0.7dp"
android:layout_alignParentBottom="true"
android:background="@color/c_normal_line"></View>
</RelativeLayout>
使用的时候会生成BaseTitleBinding 很方便,而且命名全统一帮你转好了,我们下次在xml 时还是直接使用驼峰这样的命名,
在activity 里是这样使用的
lateinit var titleBinding: BaseTitleBinding
在oncreate 的地方
titleBinding=BaseTitleBinding.inflate(inflater)
最近这样使用

是不是很方便呀,直接点出就可以了,而且还不会出错,控件id 都帮你弄好了
是不是找控件妹妹起来就很方便了
viewBinding 会为每个xml 生成binding 文件,当然 ,你不想生成文件 的话可以添加tools:viewBindingIgnore="true" 这个来忽略它

简单记录一下
如果是include 的话,在include 里添加id

然后这样去取得

简单记录一下,希望能帮到你
随着Butterknife的退役,Android开发者开始转向使用ViewBinding。在build.gradle中启用设置后,XML布局文件会自动生成对应的Binding类,如BaseTitleBinding。在Activity中,通过ViewBinding可以在onCreate中轻松获取控件,避免手动查找ID。此外,可以通过tools:viewBindingIgnore属性忽略不想生成Binding的XML文件。对于include标签,可以在其内部添加ID并相应地获取。本文简要介绍了ViewBinding的使用方法。
174

被折叠的 条评论
为什么被折叠?



