[Widget]GradientTabStrip-微信式底部渐变栏
来源:互联网 发布:金融类游戏知乎 编辑:程序博客网 时间:2024/06/14 10:27
GradientTabStrip
继承自BaseTabStrip,实现微信式渐变底部Tab效果,为ViewPager添加如PagerTitleStrip一样的Tab,但支持更多自定义功能,并支持为Tab增加标记点功能,并可以自定义标记点各自的位置及显示状态以及背景等。
主要实现原理为:BaseTabStrip将底层的交互处理好了,具体实现只要将两层Drawable不同alpha的叠加,通过偏移值计算文字的颜色rgb,绘制以及实现点击action的xy判断position。
预览
要求
- minSdkVersion 9
- 保持跟其他官方支持库版本一致(如:com.android.support:appcompat-v7)
链接
- Github
- Bintray
使用
- 基本布局
<am.widget.gradienttabstrip.GradientTabStrip android:id="@+id/gts_gts_tabs" android:layout_width="match_parent" android:layout_height="64dp" android:textColor="@color/color_gradienttabstrip_tab" android:textSize="12sp" app:gtsBackground="@drawable/bg_common_press"/>
- 基本代码
GradientTabStrip tabStrip = (GradientTabStrip) findViewById(id);GradientTabStrip.GradientTabAdapter adapter = new GradientTabStrip.GradientTabAdapter () { @Override public Drawable getNormalDrawable(int position, Context context) { return null; } @Override public Drawable getSelectedDrawable(int position, Context context) { return null; } @Override public boolean isTagEnable(int position) { return false; } @Override public String getTag(int position) { return null; }};tabStrip.bindViewPager(viewPager);
注意
- 不要使用ViewPage的setCurrentItem(int)方法,其不会通知到GradientTabStrip进行刷新,使用GradientTabStrip的performClick(int)方法
- 布局时,android:textColor指定的颜色可以使用选择器,其中android:state_selected=”true”状态下的颜色会与普通状态下的颜色进行渐变
- GradientTabAdapter中进行了改变GradientTabAdapter,需要手动通知GradientTabStrip进行刷新
- 不需要Tag小红点,可以使用SimpleGradientTabAdapter替代GradientTabAdapter
- 保持跟其他官方支持库版本一致(如:com.android.support:appcompat-v7),否则可能出现错误
0 0
- [Widget]GradientTabStrip-微信式底部渐变栏
- GradientTabStrip
- 自定义之类微信底部渐变栏
- android高仿微信底部渐变导航栏
- android仿微信底部导航栏图标渐变效果
- 仿微信底部栏图标切换时,颜色渐变效果
- 仿微信透明度渐变且带红点提醒的底部栏
- Android 仿微信底部渐变Tab
- [Widget]IndicatorTabStrip-移动式下标渐变缩放Tab
- 微信滑动底部菜单渐变效果
- 仿微信6.x底部指示器渐变效果
- 微信底部导航图标渐变效果
- iOS开发CAGradientLayer底部渐变色
- Android 仿微信底部渐变Tab(2)
- Android底部bottom的渐变实现
- 高仿微信6.0底部切换标签设置Alpha渐变效果解析
- 微信底部导航渐变效果-----viewpager&PorterDuffXfermode
- 仿微信内容滑动底部Tab背景颜色渐变
- cocos2d-x 实现目录的遍历 和 文件的全拷贝
- 使用Python连接postgresql数据库
- ie appendChild 意外地调用了方法或属性访问
- 连接数据库的工具类,以及相关用法
- [林轩田]15-验证法
- [Widget]GradientTabStrip-微信式底部渐变栏
- UVa1586
- git 用法小结1
- Mac ssh远程登陆
- 网易2017内推笔试编程题合集(二)第一题 混合颜料
- ssh之远程文件或目录的上传和下载
- DescriptionResourcePathLocationType Java compiler level does not match the version of the instal
- HTML5-注册页面(移动端和电脑端)
- RGB与16进制值互相转换