How to set TextStyle of PagerTabStrip to Bold?

前端 未结 3 1364
醉梦人生
醉梦人生 2021-02-07 07:08

I\'m using PagerTabStrip in ViewPager to show the title of each page. Here is my XML code:



        
相关标签:
3条回答
  • 2021-02-07 07:46

    PagerTabStrip doesn't aceppts textAppearance.

    Like @Justin said above, but on xml put:

    style="@style/PagerTabStripText"

    not:

    android:textAppearance="@style/PagerTabStripText"

    0 讨论(0)
  • 2021-02-07 07:51

    If you'd like to style the center tab title differently from the others, then you'll need to use reflection:

    try {
        final Class pagerTitleStripClass = PagerTitleStrip.class;
        final Field mCurrTextField = pagerTitleStripClass.getDeclaredField("mCurrText");
        mCurrTextField.setAccessible(true);
    
        // mTitle is my class's PagerTabStrip member variable
        final TextView mCurrText = (TextView) mCurrTextField.get(mTitle);
        mCurrText.setTypeface(Typeface.DEFAULT_BOLD);
    } catch (final Exception e) {
        Log.w(TAG, "Exception when styling currently selected title!", e);
    }
    

    Unfortunately, this solution is subject to potentially not working anymore when updates for the Android Support Library are released (as that's where the PagerTitleStrip class is from). In particular, this code sample is working with revision 20.

    0 讨论(0)
  • 2021-02-07 07:54

    What you need to do is create a style for the text, and then use the android:textAppearance attribute...

    Perhaps something like this:

     <style name="PagerTabStripText">
          <item name="android:textSize">14sp</item>
          <item name="android:textStyle">bold</item>
          <item name="android:textColor">#a4c639</item>
     </style>
    

    And then in your PagerTabStrip XML do this:

     <android.support.v4.view.PagerTabStrip
            android:id="@+id/pager_title_strip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="#33b5e5"
            android:paddingTop="4dp"
            android:paddingBottom="4dp" 
            android:textAppearance="@style/PagerTabStripText"/>
    
    0 讨论(0)
提交回复
热议问题