引入布局、自定义控件(绑定响应事件)

**
 * 202232810:23:53
 *
 * 4.4 创建自定义控件
 * 所有控件都是直接或间接继承自View,所有布局都是直接或者间接继承自ViewGroup
 *
 * 4.4.1 引入布局
 * 引入布局解决重复代码的问题(代码复用)
 * 创建控件布局  在activity_main.xml中include控件布局
 * 在MainActivity中隐藏原始控件(比如隐藏标题栏supportActionBar?.hide()
* 4.4.2 创建自定义控件
 * 引入布局解决了重复编写布局代码的问题,但如果布局中有一些控件要求能够响应事件,还得在Activity中去为这些代码注册响应事件,
 * 但有些按键在不同的Activity中功能是一样的(比如back),那么如何自定义控件并且绑定响应事件呢
 *
 * ①自定义TitleLayout类继承自相应的布局类
 * TitleLayout(context : Context,attrs:AttributeSet) : ConstraintLayout(context,attrs)
 * ②在activity_main.xml中include自定义的布局类TitleLayout
 * ③在init结构体中加载布局并绑定事件
 * init {
LayoutInflater.from(context).inflate(R.layout.title,this)

val Back : ImageButton = findViewById(R.id.imageButton)
val Edit : ImageButton = findViewById(R.id.imageButton2)

Back.setOnClickListener {
val activity = context as Activity
activity.finish()
}

Edit.setOnClickListener {
Toast.makeText(context,"You clicked Edit button",Toast.LENGTH_SHORT).show()
}
}

 kotlin中类型强制转换使用的关键字为as
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值