不同PagerTitleStrip在ViewPager当前页面

问题描述 投票:0回答:1

我使用刷卡标签一个ViewPager在我的应用程序。该viewpager显示3个标签,目前,前一个和下一个。现在,我想使当前选项卡比前和下一个标签更大。

这可能吗?设置PagerTitleStrip文本大小设置所有3个标签的文字大小。

我想我会需要一个定制viewpager布局,但我不知道如何做到这一点。

我想要的房间5'做大,另2小

代码现在使用权:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:tools="http://schemas.android.com/tools"  
    android:id="@+id/pager"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    tools:context=".RoomViewActivity" 
    >  


    <android.support.v4.view.PagerTitleStrip  
        android:id="@+id/pager_title_strip"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:layout_gravity="top"  
        android:paddingBottom="20dp"  
        android:paddingTop="20dp"  
        android:textColor="#fff" 

        />  


</android.support.v4.view.ViewPager> 
android android-layout android-viewpager
1个回答
4
投票

不调整休息的大小不能单独调节的TextView特定PagerTitleStrip的大小。所以,如果你想使用PagerTitleStrip指标的最佳方式来调整文字大小是使用RelativeSizeSpan。下面是这样做的一个简单的例子:

private CharSequence relativeSizeSpan(CharSequence source, int pos) {
    if (mViewPager.getCurrentItem() != pos) {
        return source;
    }
    final SpannableString ss = new SpannableString(source);
    ss.setSpan(new RelativeSizeSpan(2f), 0, source.length(), 0);
    return ss;
}

    // //////////////////////////////////////////////////////////////////////////
    // In your PagerAdapter
    // //////////////////////////////////////////////////////////////////////////

@Override
public CharSequence getPageTitle(int pos) {
    switch (pos) {
        case 0:
            return relativeSizeSpan(zero, pos);
        case 1:
            return relativeSizeSpan(one, pos);
        case 2:
            return relativeSizeSpan(two, pos);
        default:
            break;
    }
    return null;
}

否则,你可能会考虑复制在PagerTitleStrip编辑它的来源,您认为合适或使用像viewpagerindicator替代第三方指标。

下面是一个使用RelativeSizeSpan从上面的例子的屏幕截图。

© www.soinside.com 2019 - 2024. All rights reserved.