一,自定义指示器下标

效果图如下:

1,新建一个名为:layer_tab_indicator的layer-list文件,然后定义想要的样式,其中bitmap 设置成需要的图片格式,也可以根据需求在item标签内添加绘制所需要的下标

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:width="23dp"android:height="6dp"android:gravity="center"><bitmap android:src="@drawable/tab_bottom_tag"/></item>
</layer-list>

2,给TabLayout添加自定义的layer-list

app:tabIndicator="@drawable/layer_tab_indicator"

通过如上两步即可完成自定义TabLayout的指示器样式,如果更加复杂的,可参考其他的进行自定义,使用如上方法即可满足大部分的需求

二,自定义Tab样式

1,给TabLayout添加选中的监听

private fun getTabSelectedListener() = object : TabLayout.OnTabSelectedListener {override fun onTabSelected(tab: TabLayout.Tab?) {//Tab选中的样式setTab(tab)}override fun onTabUnselected(tab: TabLayout.Tab?) {//非选中时的样式tab?.customView = null}override fun onTabReselected(p0: TabLayout.Tab?) {}
}

2,自定义选中的Tab样式

fun setTab(tab: TabLayout.Tab?) {val textView = TextView(activity)//字体样式val selectedSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 20f, resources.displayMetrics)textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, selectedSize)textView.typeface = Typeface.defaultFromStyle(Typeface.BOLD) //加粗textView.gravity = Gravity.CENTER//选中的字体颜色textView.setTextColor(ContextCompat.getColor(activity!!, R.color.main_color))textView.text = tab!!.texttab.customView = textView
}

因TaLayout已经预留了一个customView根据自己的需求进行扩展,通过如上的onTabSelected和onTabUnselected进行自定义选中和未选中的样式

TabLayout自定义指示器及样式相关推荐

  1. TabLayout的指示器和文字的边距

    文章目录 一.前言 二.依赖配置 三.TabLayout的简单使用 四.自定义Tab内容 五.修改指示器离文本的距离 六.修改指示器的宽度 七.复杂的指示器效果 八.参考链接 一.前言 本文主要用于介 ...

  2. 安卓Tablayout自定义文字、指示器长度和颜色

    安卓Tablayout自定义文字.指示器长度和颜色 废话不多说,先上效果图.没有效果图的文章都是扯淡: 安卓Tablayout自定义文字.指示器长度和颜色 新的改变 以上就是所有的代码 附上demo源 ...

  3. 二、TabLayout自定义图片指示器

    最近项目需求,多个tab切换显示不同的页面,但是tab的下划线是一个带有圆角阴影的下划线,看过Tablayout源码的小伙伴可能会知道,通过原生的TabLayout是无法实现的,想了解的可以看我的另一 ...

  4. android tablayout 自定义,TabLayout用法详解及自定义样式

    TabLayout的默认样式: app:theme="@style/Widget.Design.TabLayout" 从系统定义的该样式继续深入: fill fixed 264dp ...

  5. Android TabLayout修改指示器宽度方案汇总

    目录 前言 TabLayout的视图结构 TabLayout绘制指示器的过程 1.从获取tabSelectedIndicator边界着手 1.1 默认情况下的指示器宽度 1.2 tabIndicato ...

  6. TabLayout自定义总结

    文章目录 1.常用属性 2.文字选中加粗 3.自定义指示器样式 4.自定义Tab样式 5.动态修改Tab的标题 5.1.使用的是原生的Tab: 5.2.修改自定义Tab的标题-1: 5.3.修改自定义 ...

  7. YY项目之TabLayout自定义Tab的title

    2019独角兽企业重金招聘Python工程师标准>>> 首先介绍一下Tablayout和ViewPager配合的基本用法 布局文件: <?xml version="1 ...

  8. android ratingbar样式,自定义RatingBar的样式

    写星座运势,难免要写RatingBar. 用法: 1.属性 android:numStars : 星星个数 android:rating : 默认点亮的星星星星个数 android:stepSize  ...

  9. Android 自定义指示器NBIndicatorView

    通过不间断的公司项目发现,在Android中使用透明指示器的地方很多. 以往自己都是通过继承dialog来实现的透明指示器,当然,为了研究更多东东.这些天特意写出了另外一种实现方式. 其实也没有什么特 ...

最新文章

  1. pywinauto 连接已经打开的程序 如:微信
  2. WebService using Spring throwed org.xml.sax.SAXException: Bad envelope tag: htm
  3. MS SQL专用管理员连接DAC
  4. 面向对象第七章,内存的管理,面向对象三大特征封装、继承、多态
  5. 7.串口操作之API篇 GetCommMask SetCommMask WaitCommEvent
  6. LiveVideoStack Meet成都 生活与技术的“矛盾体”(内附资料下载)
  7. storm apache java_Apache Ignite与Apache Storm(深入)
  8. 删除sessionstorage_localStorage 和 sessionStorage 介绍
  9. 加载中图片 转圈_对话洛可可平面设计师:平面设计中的效率瓶颈
  10. 软件测试 学习之路 CSS (二)
  11. MacOS苹果电脑使用PPPOE接入网络办法
  12. 反超苹果,微软重回全球市值第一!
  13. 23款网盘全都能变成本地硬盘
  14. OBS更改标题?标题一改,安能辨我是雌雄?
  15. 绕过CDN查找真实IP方法
  16. “bang” in JavaScript
  17. 内推网创始人黄小亮:拒绝猎头的P2P招聘
  18. 深度剖析Java常量池
  19. 推荐一本初学C++的书
  20. 自动称重管理软件功能如何助力企业实现信息化(一)

热门文章

  1. 分类招生计算机有哪些专业,计算机有什么专业?【全】_招生问答
  2. 纯前端大数据处理技术:葡萄城纯前端开发工具应用实践
  3. 11、pytest -- 测试的参数化
  4. 速卖通关键词挖掘工具_6款外贸高手都在用的关键词挖掘工具
  5. 嗖嗖~您有一份上云计划待查收
  6. linux authentication token manipulation 错误
  7. Django学习之模型层---多表操作之查(一)
  8. 九招最有效防电脑辐射方法
  9. AJAX入门,什么是AJAX?为什么要用AJAX?如何使用AJAX?
  10. c# 向已存在的excel中追加数据,oledb的方式