9

Czy można zmienić kolor wybranej zakładki na v4 ViewPager?
Potrzebuję używać ViewPagera v4, ale nie znajduję żadnego źródła, które by go dostosowało.
prostu do wyjaśnienia muszę zmienić kolor niebieski do drugiego:Zmiana TabSelector koloru na v4 ViewPager

TabSelector

+0

mają u sprawdzane ten http://stackoverflow.com/questions/12408080/how -na zmianę-obecnego-karty-wyróżnienia-kolor-w-android-viewpager – TheFlash

Odpowiedz

11

Jest to wskaźnik tab. Możesz zmienić jego kolor, stosując różne style.

Użyj Action Bar Style Generator, wygeneruj pliki 9patch png (tab_selected, tab_selected_focused itd.) I dodaj te pliki + style do swojego projektu.

Inne podejście ->How to change the current tab highlighter color in Android ViewPager? (jak @Pratik napisał w komentarzu).

+1

to nie działa w ogóle. Używam przesuwania karty Z AKTYWNĄ FRAGMENTEM –

+0

Zrobisz coś złego @RajuGujarati :) – mmBs

+1

Proszę odnieść się do odpowiedzi esme_louise. Miałem problemy, ale jego wskazówka uratowała mój problem. Przypuszczam, że to także rozwiązuje twoje. – Tina

0

W ten sam sposób nie znajduję sposobu na dostosowanie karty. Więc mam naprawić go za pomocą

<View 
     android:layout_height="2dp" 
     android:id="@+id/line1" 
     android:layout_width="fill_parent" 
     android:layout_below="@+id/headertab1" 
     android:layout_above="@+id/viewpager" 
     android:background="#0066CC" /> 

mam umieścić ten kod ze sobą 3 zakładkach belove zakładce & powyżej viewPager. Ponieważ możemy wykryć, która karta jest wybrana bardzo łatwo. Możemy więc użyć widoczności "line1" do View.VISIBLE lub View.INVIEW.

Mam nadzieję, że to wam pomoże!

3

Nie mam wystarczającej reputacji, aby skomentować odpowiedź, ale w odniesieniu do Action Bar Style Generator upewnij się, że po dodaniu plików do odpowiednich folderów w projekcie dodajesz również motyw do pliku manifestu xml:

<activity 
    android:name="com.whatever.myapplication.YourActivityName" 
    android:theme="@style/Theme.Whatever_you_named_your_style_in_the_generator"> 
</activity> 
+1

Dla przyszłych użytkowników: w manifeście może być konieczne ustawienie całego motywu aplikacji (a nie tylko działania). tak: Tina

0

ViewPager nie jest tym, który należy dostosować. Musisz ustawić tabIndicatorColor połączonego z nim w układzie.

Dynamicznie można zrobić

TabLayout tabLayout = (TabLayout) findViewById(R.id.tabLayout_id); 
tabLayout.setupWithViewPager(viewPager); 
tabLayout.setSelectedTabIndicatorColor(R.color.your_color); // here 

Wewnątrz XML, który byłby tak proste, jak w poniższym

<android.support.design.widget.TabLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:tabIndicatorColor="@color/your_color" />