我更改了PagerTabStrip中的背景颜色,但选项卡标题有一个白色背景
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_tab_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#c9c9c9"
android:padding="4dp"
android:textColor="#000000"
/>
我在哪里换?
如果res/values/colors.xml中不存在(对于颜色)资源文件,则创建一个具有所需值的颜色的资源文件。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="tabstrip_bg">#ff6d9850</color>
</resources>
在您的布局文件(分别持有ViewPager和TabStrip)中,修改android:background参数,该参数指的是上面的颜色,如下所示。
<android.support.v4.view.ViewPager
android:id="@+id/pager_charts"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@color/tabstrip_bg" />
</android.support.v4.view.ViewPager>
尝试插入以下XML代码:
android:textColor="#<COLOR-CODE>"
您可以使用PagerTabStrip.setDrawFullUnderline(boolean drawFull)在代码中执行此操作。
这是一篇关于PagerTabStrip样式的文章。
http://blog.stylingandroid.com/archives/1378
更新:从PagerTabStrip的来源来看,这似乎是不可能的。onDraw()方法调用超类,该超类绘制文本,然后PagerTabStrip在视图底部绘制指示符。若要更改当前所选文本的背景,您需要在绘制文本之前以全高绘制指示器。
这将需要一个自定义类,可能使用PagerTabStrip及其超类中的代码,并根据您的需要自定义onDraw方法。
PagerTabStrip中onDraw()的代码如下。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
final int height = getHeight();
final int bottom = height;
final int left = mCurrText.getLeft() - mTabPadding;
final int right = mCurrText.getRight() + mTabPadding;
final int top = bottom - mIndicatorHeight;
mTabPaint.setColor(mTabAlpha << 24 | (mIndicatorColor & 0xFFFFFF));
canvas.drawRect(left, top, right, bottom, mTabPaint);
if (mDrawFullUnderline) {
mTabPaint.setColor(0xFF << 24 | (mIndicatorColor & 0xFFFFFF));
canvas.drawRect(getPaddingLeft(), height - mFullUnderlineHeight,
getWidth() - getPaddingRight(), height, mTabPaint);
}
}
只需在页面标签条java类中将ImageButton背景设置为黑色。