PagerTabStrip修改选中/未选中tab字体颜色

PagerTabStrip tabs = (PagerTabStrip) rootView.findViewById(R.id.tabs);
tabs.setTextColor(R.color.theme_accent);/修改选中tab项字体的颜色/
tabs.setNonPrimaryAlpha(0.2f);/通过设置透明度来修改未选中tab项的字体颜色/
未选中tab字体的颜色是选中tab字体颜色的基础上的透明度为多少,不能直接修改未选中tab的字体颜色(修改未选中tab字体颜色没有现实意义,未选中时置灰,选中时为选中tab字体颜色较实用)
PagerTabStrip 集成了 PagerTitleStrip,setNonPrimaryAlpha(),setTextColor()都为PagerTitleStrip中的方法

见sdk源码 \sdk\extras\android\support\v4\src\java\android\support\v4\view\PagerTitleStrip.java


/**
     * Set the color value used as the base color for all displayed page titles.
     * Alpha will be ignored for non-primary page titles. See {@link #setNonPrimaryAlpha(float)}.
     *
     * @param color Color hex code in 0xAARRGGBB format
     */
    public void setNonPrimaryAlpha(float alpha) {
        mNonPrimaryAlpha = (int) (alpha * 255) & 0xFF;
        final int transparentColor = (mNonPrimaryAlpha << 24) | (mTextColor & 0xFFFFFF);
        mPrevText.setTextColor(transparentColor);
        mNextText.setTextColor(transparentColor);
    }
    /**
     * Set the color value used as the base color for all displayed page titles.
     * Alpha will be ignored for non-primary page titles. See {@link #setNonPrimaryAlpha(float)}.
     *
     * @param color Color hex code in 0xAARRGGBB format
     */
    public void setTextColor(int color) {
        mTextColor = color;
        mCurrText.setTextColor(color);
        final int transparentColor = (mNonPrimaryAlpha << 24) | (mTextColor & 0xFFFFFF);
        mPrevText.setTextColor(transparentColor);
        mNextText.setTextColor(transparentColor);
    }

如若转载,请注明文章出处,谢谢
http://blog.csdn.net/w690333243/article/details/50953064

你可能感兴趣的:(PagerTabStrip修改选中/未选中tab字体颜色)