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
Odpowiedz
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).
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!
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>
Dla przyszłych użytkowników: w manifeście może być konieczne ustawienie całego motywu aplikacji (a nie tylko działania). tak:
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" />
mają u sprawdzane ten http://stackoverflow.com/questions/12408080/how -na zmianę-obecnego-karty-wyróżnienia-kolor-w-android-viewpager – TheFlash