Android ViewBinding的使用

1、 在app主工程目录下,build.gradle下-->android{}下添加

viewBinding{

    enabled =true

}

具体位置,参见下图,



每次在layout资源目录下创建布局,默认会自动生成对应的ViewBinding类,例如:activity_main.xml

Activity中使用:

ViewBinding bind = ActivityMainBinding.inflate(layoutInflater)

setContentView(bind.root)



在fragment中使用:创建fragment_main_xml

override fun onCreateView(inflater:LayoutInflater, container:ViewGroup?, savedInstanceState:Bundle?):View? {

ViewBinding bind = FragmentMainBinding.inflate(inflater, container,false)

return bind.root

}



在adapter中使用:

val bind =ItemVideoWallpaperAdapterBinding.inflate(inflater, parent,false)

MyViewHolder(bind.root)


在dialog中使用

val bind =DialogAppAutoStartBinding.inflate(LayoutInflater.from(context), null, false)

init {

setContentView(bind.root)

setCanceledOnTouchOutside(true)

bind.tvDialogConfirm.setOnClickListener{

        dismiss()

onRun?.run()

}

}



如果禁止布局生成viewbinding类,添加如下代码即可

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:viewBindingIgnore="true">

.........

</FrameLayout>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容