Hii当前正在使用pagerslidingtabstrip和viewpager来托管3个滑动片段。现在一切都很好,但其中一个标题比其他标题长一点!所以它不适合分配的地方。所以我得到一些标题和3点的字母。所以我想问一下是否有一种很好的方法可以解决这个问题,使每个标签的宽度与其长度相对应。
请注意,如果我使用布局实现pagerAdapter(此处记录的Viewpager和PagerTitleStrip:http://developer.android.com/training/implementing-navigation/lateral.html)
,则可以使用此功能。答案 0 :(得分:2)
尝试在已定义PagerSlidingTabStrip的xml中添加此app1:pstsShouldExpand="false"
属性
例如
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/tab_bg"
app1:pstsTextAllCaps="false"
app1:pstsShouldExpand="false"
/>
答案 1 :(得分:0)
I'm try this and it's work for me
1. Create new pagerTitleStrip layout, "my_tabs.xml"
<code>< com.astuetz.PagerSlidingTabStrip
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@id/materialviewpager_pagerTitleStrip"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:pstsPaddingMiddle="true"
app:pstsDividerPadding="20dp"
app:pstsIndicatorColor="#FFF"
app:pstsIndicatorHeight="2dp"
app:pstsShouldExpand="false"
app:pstsTabPaddingLeftRight="10dp"
app:pstsTabTextAllCaps="true"
tools:background="#A333"
/> </code>
2. On layout xml contain < com.github.florent37.materialviewpager.MaterialViewPager > set that new tab layout to your viewPager layout with :
<code>app:viewpager_pagerTitleStrip="@layout/my_tabs"</code>
3. If still no working, add <code>.setShouldExpand(true);</code> on pagerActivity.java before setViewPager.
<code>MaterialViewPager mViewPager;
....
mViewPager.getViewPager().setOffscreenPageLimit(mViewPager.getViewPager().getAdapter().getCount());
mViewPager.getPagerTitleStrip().setShouldExpand(true); //Works
mViewPager.getPagerTitleStrip().setViewPager(mViewPager.getViewPager());
.... </code>