美文网首页
GradientTabStrip-微信式底部渐变栏

GradientTabStrip-微信式底部渐变栏

作者: AlexMofer | 来源:发表于2016-08-19 18:59 被阅读0次

    GradientTabStrip

    ICON

    继承自BaseTabStrip,实现微信式渐变底部Tab效果,为ViewPager添加如PagerTitleStrip一样的Tab,但支持更多自定义功能,并支持为Tab增加标记点功能,并可以自定义标记点各自的位置及显示状态以及背景等。

    主要实现原理为:BaseTabStrip将底层的交互处理好了,具体实现只要将两层Drawable不同alpha的叠加,通过偏移值计算文字的颜色rgb,绘制以及实现点击action的xy判断position。

    预览

    Screenshots

    要求

    • minSdkVersion 9
    • 保持跟其他官方支持库版本一致(如:com.android.support:appcompat-v7)

    链接

    使用

    • 基本布局
    <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),否则可能出现错误

    相关文章

      网友评论

          本文标题:GradientTabStrip-微信式底部渐变栏

          本文链接:https://www.haomeiwen.com/subject/ziwbsttx.html