2012-09-13 41 views
24

Đây là bố cục của tôi bên trong ViewPager. Tôi muốn thay đổi màu của công cụ đánh dấu tab hiện tại bên dưới văn bản. Trên thực tế nó được hiển thị trong màu đen. Nhưng tôi không biết đó có phải là màu theo mặc định hay không. Và tôi cũng có một nghi ngờ nữa. Nếu tôi sử dụng PagerTitleStrip, công cụ đánh dấu tab này sẽ không xuất hiện. Có cách nào để mang điều đó bằng titlestrip không?Làm cách nào để thay đổi màu tô sáng tab hiện tại trong Android ViewPager?

Dưới đây là cách bố trí của tôi:

<android.support.v4.view.PagerTabStrip android:id="@+id/pager_title_strip" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" 
    android:background="@color/pager_titlestrip_bg"  
    android:textColor="@color/pager_titlestrip_text" 
    android:paddingTop="5dp" 
    android:paddingBottom="4dp" > 
    </android.support.v4.view.PagerTabStrip> 
+0

Tôi đã xem xét giải pháp chỉ báo JakeWharton ViewPager. Đối với tôi, các tab cùng với thao tác vuốt chỉ hoạt động tốt. Nhưng tôi muốn thay đổi màu chỉ báo tab. Có tùy chọn để thay đổi màu văn bản tab. Nhưng không phải màu chỉ báo. Nó được hiển thị như màu đen theo mặc định. – intrepidkarthi

Trả lời

60

này chỉ hoạt động.

PagerTabStrip pagerTabStrip = (PagerTabStrip) findViewById(R.id.pager_title_strip); 
pagerTabStrip.setDrawFullUnderline(true); 
pagerTabStrip.setTabIndicatorColor(Color.RED); 

Cảm ơn!

11

Nó có thể được thực hiện trong cả hai lập trình với Java hoặc với XML

Bằng XML

<android.support.design.widget.TabLayout 
     android:id="@+id/tabanim_tabs" 
     android:layout_width="match_parent" 
     app:tabIndicatorHeight="4dp" 
     app:tabIndicatorColor="@android:color/white" 
     android:layout_height="wrap_content" /> 

Hoặc đơn giản hơn bạn có thể giải quyết luật này là tốt

tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#FFFFFF")); 

Tương tự như vậy để thay đổi chiều cao

tabLayout.setSelectedTabIndicatorHeight((int) (2 * getResources().getDisplayMetrics().density)); 
+0

Điều đó giải quyết được vấn đề của tôi ... :) – Sangharsha

0

Điều này hoạt động trong dự án của tôi.

<android.support.design.widget.TabLayout 
    android:id="@+id/tabs" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#FFF" 
    app:tabGravity="fill" 
    app:tabIndicatorColor="@color/text3" 
    app:tabMode="scrollable" 
    app:tabSelectedTextColor="@color/text3" 
    app:tabTextColor="#000" /> 
Các vấn đề liên quan