android:更改PagerTabStrip背景顏色,標題字體樣式、顏色和圖標,以及指示條的顏色


1.更改PagerTabStrip背景顏色

我們直接在布局中設置background屬性可以:

 <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <android.support.v4.view.PagerTabStrip
            android:id="@+id/pts"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_gravity="top"
            android:background="#a05c5ccc" />
    </android.support.v4.view.ViewPager>

2.改動指示條的顏色

我們能夠在java代碼中調用

pagertabstrip的setTabIndicatorColorResource(R.color.green_complete);方法進行設置

3.改動設置標題字體的樣色。顏色,以及為標題加入圖標,我們能夠重寫FragmentStatePagerAdapter的getPageTitle方法:

@Override
	public CharSequence getPageTitle(int pos) {
		SpannableStringBuilder ssb = new SpannableStringBuilder(" "
				+ topics[pos]); // space added before text for
		Drawable myDrawable = context.getResources().getDrawable(
				R.drawable.card_visited_like);
		myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(),
				myDrawable.getIntrinsicHeight());
		ImageSpan span = new ImageSpan(myDrawable, ImageSpan.ALIGN_BASELINE);
		
		ForegroundColorSpan fcs = new ForegroundColorSpan(Color.GREEN);//字體顏色設置為綠色
		ssb.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//設置圖標
		ssb.setSpan(fcs, 1, ssb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//設置字體顏色
		ssb.setSpan(new RelativeSizeSpan(1.2f), 1, ssb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
		return ssb;
	}

效果例如以下圖:



項目源碼:https://github.com/nuptboyzhb/ViewPageAnimatorDemo


未經同意不得用於商業目的

當然,你也能夠考慮使用開源碼:https://github.com/astuetz/PagerSlidingTabStrip


版權聲明:本文博主原創文章,博客,未經同意不得轉載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM