2013-07-04 178 views
3

我PagerTabStrip改變背景顏色,但標籤標題有一個白色的背景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" 
    /> 

我在哪裏改呢?

+0

你有沒有什麼好辦法解決這個問題? – dustin

回答

0

你可以用代碼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); 
    } 
} 
+0

製表符顏色只改變標題下的行,不改變標題的背景 –

+0

我更新了答案,我想setDrawFullUnderline(true)會做你想做的。 – Flynn81

+0

對不起,忽略我的更新,這是錯誤的。 – Flynn81

-2

只是在尋呼機選項卡條帶java類中將ImageButton背景設置爲黑色。

+0

什麼ImageButton? –

+0

在pagertabstrip類中搜索它 – Priya

1

嘗試插入這個XML代碼:

android:textColor="#<COLOR-CODE>"

1

創建資源文件,如果它不存在(對色)在RES /價值/ 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>