Android:ViewPager - PagerSlidingTabStrip, Benutzerdefinierte Registerkarte Hintergrund auf state_selected
Muss ich verwenden einen benutzerdefinierten hintergrund für jede Registerkarte, wenn jeder von Ihnen ist in state_selected - Modus. Aber noch passiert nichts, wenn ich wählen Sie eine Registerkarte aus.
Ich verwendet Selektor so aus: (tab_selector.xml)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/gradient_tab" />
<item android:state_selected="false"
android:drawable="@drawable/tab_unselected" />
<item android:drawable="@drawable/tab_unselected"/>
</selector>
- Und dies ist die activity_main.xml:
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="48dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/tab_back"
app1:pstsTabBackground="@drawable/tab_selector"
app1:pstsIndicatorColor="#00FFFFFF"
app1:pstsShouldExpand="true" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/tabs"
tools:context=".MainActivity" />
Als offensichtlich, ich bin mit PagerSlidingTabStrip von astuetz.
Und hier ist, wie ich bin mit ViewPager und PagerSlidingTabStrip:
final PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
viewPager = (ViewPager) findViewById(R.id.pager);
viewPager.setAdapter(mainPagerAdapter);
tabs.setTextColor(Color.WHITE);
tabs.setViewPager(viewPager);
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
tabs.setViewPager(viewPager);
}
Ich habe versucht, mischen von verschiedenen Staaten und re-Positionierung, aber es funktioniert immer noch nicht.
Ich versuchte, um einen bestimmten Reiter auf einem ausgewählten Modus, aber ich konnte es nicht herausfinden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich dachte es mir, aber nicht in einem standard-Weg!
Da brauchte ich einen Farbverlauf wie der hintergrund auf meinem ausgewählten Registerkarte ab, ich verwendete Indikator ist, und unterstreichen, wie diese:
xml
AnpassungpstsTabBackground
für die Verwendung eines tab-Selektor-Datei wird nur ein Bild. Kann nicht herausfinden, wie man 4 verschiedene drawables zu gehen, auf meine 4 tabs. Vielen Dank, wenn Sie wissen.Nur für diejenigen, die auf der Suche nach der Antwort, ohne mit der Gabel PageSliding tab-Strip.
Für Den Selektor problem, können Sie OnPageChangeListener auf der Registerkarte mit einem CustomOnPageChangeListener, und legen Sie selected_state der Schaltfläche im Register "true"
Hier ist mein CustomOnPageChangeListener
Und dann setzen Sie diese benutzerdefinierten listener Ihrem tab-strip
Nenne ich
PagerSlidingTabStrip.setOnPageChangeListener
und nicht
viewPager.setOnPageChangeListener
Es funktioniert für mich.