0

我正在使用PagerTitleStrip掃描片段,我需要爲所選項目或突出顯示的標題製作一個點。 我的XML代碼:如何在PagerTitleStrip中爲突出顯示的標題製作一個點在android

<android.support.v4.view.PagerTitleStrip 
      android:id="@+id/pager_title_strip" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom" 
      android:background="#fff" 
      android:paddingBottom="6dp" 
      android:paddingTop="6dp" 
      android:textColor="@color/blueColorSwipeText" /> 

我還需要更改高亮顯示標題顏色。 請幫我一把。 謝謝 建議表示讚賞。

+0

您試過了什麼,以及您遇到過哪些具體問題?例如,您是否成功創建了「PagerTitleStrip」的分支? – CommonsWare 2014-11-05 11:49:17

+1

http://stackoverflow.com/questions/10008309/android-implement-a-page-counter-like-the-one-on-the-home-screen 試試這個 – 2014-11-05 11:50:48

+0

你想用點替換指示條, 是對的嗎 ? – vovahost 2014-11-05 12:16:08

回答

1

使用textColor屬性; 在res /價值/ styles.xml創建一個新的風格:

<style name="Pager"> 
    <item name="android:textColor">#4DB849</item> 
    <item name="android:indicatorColor">#E95044</item> 
</style> 

你會得到一個綠色的標題和紅色指示燈。

您可能希望看到ViewPagerIndicator

要改變你必須改變的onDraw(帆布油畫)方法的指標。
這是源代碼PagerTabStrip.java

@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); 
    } 
} 

你必須改變這一行:

canvas.drawRect(left, top, right, bottom, mTabPaint); 

測試,如果你有更換時,你得到一個點:

canvas.drawCircle(left, top, 15, mTabPaint); 

繪製自定義視圖檢查出的Android文檔。

Custom Drawing

+0

我想要一個點而不是指示器。 – 2014-11-05 12:21:03

相關問題