在res文件内 新建XML->LayoutXML
gotoXML编辑代码
基本元素
android:layout_width="match_parent"
//尺寸和父容器相适应
android:layout_height="wrap_content"
//与输入内容相适应
android:orientation="vertical"
//设置控件排布 水平/垂直
android:gravity="center"
//对齐方式
在android程序内加入
viewBinding{
enbale = true
}
MainActivity控件绑定
private lateinit var binding:LayoutBinding
//databinding 人工绑定
binding = LayoutBinding.inflate(layoutInflater)
setContentView(binding.root)
//一定要注释掉原有的setView
解决“使用binding绑定按钮不管用”:查看setContentView下是否绑定了其他界面
Layout.xml
<EditText
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:id="@+id/etvTest"
android:background="#ff0000"
android:hint="请输入应发金额"
android:inputType="number">
</EditText>
inputType:文本框的输入类型制定
id:每个控件在调用时均需要id命名 输入@获取提示
可管理布局 作为容器 规定容器内的排布水平或垂直
主程序添加文本监听接口
binding.etvTest.addTextChangedListener(object:TextWatcher{
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
override fun afterTextChanged(s: Editable?) {
var text = binding.etvTest.text.toString()
val num:Float = text.toFloat()
var result = cul(num)
binding.txt2Test.text = result.toString()
binding.txt1Test.text = (num-result).toString()
}
})
- �一定注意是在括号内添加(object:TextWatcher{...具体程序})
- 通过.text获取空间内文字 如想和其他控件同时控制 可在TextChanged上编写和其它控件交互的代码 同时修改
实现点击轮播图片
使用ImageView控件 和主程序绑定 使用binding.ivTest.setOnClickListener 监听器监听
更换图片:imgTest.setImageResource(R.drawable.j20_03)