提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
使用Kotlin扩展函数 + ViewBinding来完成自定义组件的功能
一、写控件布局,并用Include放入界面
标题控件布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/back"
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="Back" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Title"
android:textSize="20sp" />
<Button
android:id="@+id/done"
android:layout_margin="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="Done" />
</RelativeLayout>
放入界面,并给予id
<include
android:id="@+id/titlebar"
layout="@layout/titlebar" />
二、扩展控件Binding类的函数,完成必要的业务操作
fun TitlebarBinding.bind(context: Context,tileText:String,doneText:String,backText:String){
....
}
具体调用
binding.titlebar.bind()