仿网易新闻可滑动标题栏TabLayout(文字或图标)

简介:     近期有需要,要做一个类似于网易新闻首页中的可滑动标题栏 TabLayout,根据大神写的 FlycoTabLayout 改造了一下,可以加载网络图片,主要实现内容如下:     1.

    近期有需要,要做一个类似于网易新闻首页中的可滑动标题栏 TabLayout,根据大神写的 FlycoTabLayout 改造了一下,可以加载网络图片,主要实现内容如下:

    1. 可配置标题选中效果(下划线/上三角/圆角矩形或椭圆);

    2. 可配置 TabLayout 中显示文字或网络图片,可配置文字或图片选中绘制颜色;

    3. 借助 Glide 展示加载网络或本地图标;

    4. Fragment 懒加载


    1. 类似于网易新闻的第一项首页,主要布局基本上是一个可滑动的顶部 TabLayout 和一个装载多个 Fragment 的 ViewPager。这样先解决 ViewPager 加载 Fragment 的问题,一般为了程序的运行效率,会用到 Fragmentd 的懒加载,网上有太多大神的例子了,并且小菜研究不深入,主要有一个坑告知大家,在 Fragment 的 Adapter 中的方法需要注释掉,可避免默认加载3个或多个 Fragment。

    @Override

    public void destroyItem(ViewGroup container, int position, Object object) {

    //        container.removeView((View) object);

    }

    2. 在 FlycoTabLayout 中选择一个比较符合需求的样式,里面主要是对文字的展示,小菜的需求是可以加载网络图标。只是在里面添加了几个小方法支持一下,自己写了一个 setViewPager(mViewPager, 1, mTitleIconList);第一个参数代表 ViewPager;第二个参数0代表展示文字的,1代表展示图标的;第三个参数代表需要展示的图标的列表。

    3. Glide加载网络或本地图标,封装了一个 BitmapUtil.tintBitmap 的小方法对Bitmap进行绘制颜色,若图标列表中某几项为空时可默认加载固定的一个图标。

    4. 对于文字或图标的选中颜色;选中状态均放在一个 config.xml 文件中,方便开发人员或其他人员修改。

1240
标题栏为文字的TabLayout
1240
标题栏为图标的TabLayout

   GitHub 源码 


    本人是一个 Android 小菜,很多知识点理解都不到位,代码写的也仅限于可运行阶段,有好的提议希望大家多多指点校正。

目录
相关文章
|
Android开发
Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮
原文:Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮 上面就是几张预览图!代码在最底下 主要就两个步骤,画图、监听点击 1、整个控件基本上是一步步画出来的,重写onDraw方法开始for循环画扇形出来,画扇形的时候同时画扇形内的图标,扇形画完了之后画中心圆按钮,中心画了圆之后吧OK按钮画上。
2788 0
|
3月前
|
前端开发
Flutter笔记:光影动画按钮、滚动图标卡片组等
Flutter笔记:光影动画按钮、滚动图标卡片组等
40 0
|
Android开发
玩转AppBarLayout,更酷炫的顶部栏
玩转AppBarLayout,更酷炫的顶部栏
玩转AppBarLayout,更酷炫的顶部栏
|
架构师 开发者
全屏幻灯控件|学习笔记
快速学习全屏幻灯控件。
46 0
|
Android开发
关于安卓竖直滚动文字自定义控件的探索
安卓竖直滚动文字自定义控件
94 0
|
XML API 数据格式
侧滑按钮
导入闭包 将以下语句倒入目录下build.gradle文件内
135 0
侧滑按钮
|
定位技术 Android开发
Android仿饿了么地图滑动悬停华丽效果
Android仿饿了么地图滑动悬停华丽效果
330 0
Android仿饿了么地图滑动悬停华丽效果
|
XML Android开发 数据格式
Android开发学习之使用Toolbar实现不同的Fragment使用不同颜色的标题栏与状态栏
Android开发学习之使用Toolbar实现不同的Fragment使用不同颜色的标题栏与状态栏                                            先看效果图。
2829 0
|
Android开发 容器
Android开发 - 解决DialogFragment在全屏时View被状态栏遮住的问题
我的上一篇文章:设置DialogFragment全屏显示 可以设置对话框的内容全屏显示,但是存在在某些机型上顶部的View被状态栏遮住的问题。经过测试,发现了一种解决办法,在DialogFragment的onCreateView()中添加一个布局监听器: @Override public View.
2368 0
|
Android开发
【Android视图效果】仿QQ空间滑动改变标题栏颜色
最近在倒腾公司之前的项目,发现之前的界面是个白色标题栏,不是很美观,所以做了些改进。 先看效果图 165815uykp80g8y3goo5vz.gif 简单说下思路,整个布局大体上是ScrollView里面包含了一个ImageView和RecyclerView,所以先得到ImageView的高度,当ScrollView向上滑动时,设置标题栏的背景色、文字颜色,当超过ImageView的高度时,设置其背景为白色,字体为黑色。
1132 0