当每个选项卡都处于状态选择模式时,我需要为每个选项卡使用自定义背景。但当我选择一个标签时,仍然什么也没有发生。
我使用了这样的选择器:(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\u 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" />
很明显我用的是阿斯图茨的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);
}
我试着混合不同的状态并重新定位它们,但仍然没有成功。
我试着在一个选定的模式上设置一个特定的标签,但我想不通。
最佳答案
我自己想出来的,但不是标准的!
由于我需要在选定的选项卡上使用类似于渐变的背景,所以我使用了指示器和下划线,如下所示:
<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:pstsUnderlineHeight="24dip"
app1:pstsIndicatorHeight="48dip"
app1:pstsIndicatorColor="#e7e7e7"
app1:pstsShouldExpand="true" />
关于android - Android:ViewPager-PagerSlidingTabStrip,state_selected上的“自定义”标签背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24470524/