所以我有一个显示标签的应用,你可以借助 ViewPager 水平滚动。
我的问题是:有没有办法隐藏 PagerTitleStrip 中的相邻标签?
到目前为止,我无法动态或通过XML找到办法...
提前致谢!
P.S。 :我想张贴一张照片来说明这个问题,但似乎我的声誉太低了......对不起。
修改:在此图片上http://oi59.tinypic.com/2lm2ouh.jpg我想隐藏"今天" "前一天"文本。感谢CFlex的提示!
答案 0 :(得分:1)
我知道这已经过时了,但是我想添加一下我曾经用过的方法来节省别人的时间。
pagerTitleStrip.setNonPrimaryAlpha(0F);
答案 1 :(得分:0)
问题可能很老,但仍然很重要。我在并行编程两个传呼机时遇到了问题,在传呼机之间有下一个和前一个标签是很不容易的。但是有一个简单的解决方案:
addOnPageChangeListener
(针对其中一个寻呼机),并使用寻呼机的当前位置填充您的片段或活动类的成员变量。 FragmentPagerAdapter
中的功能getPageTitle(int position)
实际上是要求页面标题在每次寻呼机改变位置时显示 ,而当前每次最多显示三遍。 ,上一个和下一个位置。
因此,现在您知道自己所处的位置,可以区分对上一个和下一个标题的请求,对于这些标题,您只需返回一个空字符串即可。对于原始问题:
private int mPagerPos = 0;
ViewPager mPager = findViewById(R.id.pager);
mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
mPagerPos = position;
}
});
class FragmentAdapter extends FragmentPagerAdapter {
@Override
public CharSequence getPageTitle(int position) {
if ( mPagerPos > position ) { return ""; } // title for previous tab
else if ( mPagerPos == position ) { ... } // title for current tab
else if ( mPagerPos < position ) { return ""; } // title for next tab
}
}