Android自定义顶部导航栏控件实例代码

作者:杨伟乔 时间:2022-02-11 13:43:16 

下面一段代码给大家介绍了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
}
}

总结

以上所述是小编给大家介绍的Android自定义顶部导航栏控件实例代码网站的支持!

来源:https://www.jianshu.com/p/bc96b03d6239?utm_source=tuicool&utm_medium=referral

标签:android,导航栏
0
投稿

猜你喜欢

  • Android实现多点触控功能

    2021-10-18 08:39:33
  • java多线程编程之InheritableThreadLocal

    2022-02-08 21:40:32
  • SpringMvc返回modelandview返回的页面无法跳转问题及解决

    2023-02-07 23:49:51
  • 详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    2023-06-22 06:17:48
  • C#中委托和事件的区别实例解析

    2022-07-03 09:28:39
  • java的NIO管道用法代码分享

    2022-05-01 23:52:53
  • Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法

    2021-12-24 10:35:50
  • Android中使用TextView实现文字跑马灯效果

    2023-07-28 11:07:33
  • 深入探索Java常量池

    2022-12-28 00:55:53
  • Java设计模式之职责链模式详解

    2023-01-26 21:16:26
  • Java中lombok的@Builder注解的解析与简单使用详解

    2022-12-29 06:44:55
  • 基于C#实现磁性吸附窗体

    2022-09-04 07:04:51
  • java图片滑动验证(登录验证)原理与实现方法详解

    2023-07-10 13:29:53
  • Android多媒体之画画板开发案例分享

    2022-11-17 11:05:08
  • Android自定义AvatarImageView实现头像显示效果

    2022-09-28 21:26:10
  • Java编程之双重循环打印图形

    2022-02-01 22:06:37
  • java 装饰模式(Decorator Pattern)详解及实例代码

    2023-09-07 03:13:08
  • MyBatis使用雪花ID的实现

    2023-06-09 16:26:23
  • 关于C#委托三种调用的分享使用

    2022-10-29 03:24:35
  • springboot2.X整合prometheus监控的实例讲解

    2021-07-04 13:49:59
  • asp之家 软件编程 m.aspxhome.com