会员收费网站怎么做,线上广告形式有哪些,网页应用生成器,网站pv uv统计文章目录 效果1、加入依赖2、与控件进行绑定在 Activity 中使用视图绑定 3、监听控件 效果 实现源码
class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstan… 文章目录 效果1、加入依赖2、与控件进行绑定在 Activity 中使用视图绑定 3、监听控件 效果 实现源码
class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//setContentView(R.layout.activity_main)binding ActivityMainBinding.inflate(layoutInflater)setContentView(binding.root)binding.button.text Hello}
}1、加入依赖
在app 的 build.gradle 文件下的 android 标签下加入下面的代码 可以在Java / Kotlin语言中均可以使用配置
android {.......buildFeatures {viewBinding true}
}只在Kotlin语言版本中配置 android {...viewBinding {enabled true}}2、与控件进行绑定
以下演示一个按钮绑定 xml文件
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentButtonandroid:idid/exitButtonandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_gravitycenterandroid:text退出软件 //LinearLayout在 Activity 中使用视图绑定
如需设置绑定类的实例以供 Activity 使用请在 Activity 的 onCreate() 方法中执行以下步骤
在Kotlin代码中使用ViewBinding.inflate方法获取绑定对象并使用该对象访问布局文件中的控件setContentView(binding.root) 设置布局文件
class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// setContentView(R.layout.activity_main)binding ActivityMainBinding.inflate(layoutInflater)setContentView(binding.root)}
}3、监听控件
使用setOnClickListener方法为控件添加点击事件
class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// setContentView(R.layout.activity_main)binding ActivityMainBinding.inflate(layoutInflater)setContentView(binding.root)binding.exitButton.setOnClickListener {// 点击事件处理逻辑}}
}比如 点击一次按钮就会打印一次“点击了按钮”
class MainActivity : AppCompatActivity() {lateinit var binding:ActivityMainBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)//setContentView(R.layout.activity_main)binding ActivityMainBinding.inflate(layoutInflater)setContentView(binding.root)binding.button.setOnClickListener{Log.e(MainActivity,点击了按钮)}}
}