当每个选项卡都处于state_selected模式时,我需要为每个选项卡使用自定义背景。但是当我选择一个选项卡时仍然没有任何反应。
我像这样使用选择器:(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>
这是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" />
很明显,我正在使用astuetz的 PagerSlidingTabStrip。以下是我使用 ViewPager 和 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);
}
我尝试混合不同的状态并重新定位它们,但仍然无法正常工作。我试图在选定的模式上放置一个特定的选项卡,但我无法弄清楚。