最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android自定义顶部导航栏控件实例代码
时间:2022-06-25 23:06:52 编辑:袖梨 来源:一聚教程网
下面一段代码给大家介绍了android 自定义顶部导航栏控件功能,具体代码如下所示:
class HeaderBar @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : FrameLayout(context, attrs, defStyleAttr) {
//重写构造方法 在java里面 我们一般是重写三个构造方法//在kotlin中 我们可以使用@JvmOverloads constructor(
// context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
// )后面的两个参数 我们不传的可以使用的是默认值//定义一些变量private var isShowback = true
private var titleText: String? = null
private var rightText: String? = null
//初始化 在init方法中 初始化布局 设置style
init {
//自定义属性val typedArray = context.obtainStyledAttributes(attrs, R.styleable.HeaderBar)
//取出在布局中定义的属性isShowback = typedArray.getBoolean(R.styleable.HeaderBar_isShowBack, true)
titleText = typedArray.getString(R.styleable.HeaderBar_titleText)
rightText = typedArray.getString(R.styleable.HeaderBar_rightText)
initView()
typedArray.recycle()
}
//初始化控件的方法private fun initView() {
//填充布局View.inflate(context, R.layout.layout_header_bar, this)
mLeftIv.visibility = if (isShowback) View.VISIBLE else View.INVISIBLE
titleText?.let {
mTitleTv.text = it
}
rightText?.let {
mRightTv.text = it
mRightTv.visibility = View.VISIBLE
}
mLeftIv.onClick {
if (context is Activity)
(context as Activity).finish()
}
}
fun getRightView(): TextView {
return mRightTv
}
}
相关文章
- dnf幽暗岛表情外观一览 11-29
- dnf神界版本蓝拳装备搭配毕业攻略 神界版本蓝拳装备怎么选 11-29
- 流放之路S24速刷简单策略选择推荐 11-29
- 魔兽世界乌龟服防骑a怪一键宏指令分享 11-29
- 创世秩序全地图资料汇总 全地图区域中文名字对照 11-29
- 播种委员会全角色解锁攻略 全人物解锁位置详解 11-29