所以我有一个显示标签的应用程序,你可以在ViewPager的帮助下水平滚动。
我的问题是:有什么方法可以让在PagerTitleStrip中隐藏相邻的标签标题?
到目前为止,我一直无法找到一种方法来动态地或通过XML.
提前谢谢!
我想发一张照片来说明这个问题,但我的名声似乎太低了.真对不起。
编辑:在这张图片http://oi59.tinypic.com/2lm2ouh.jpg上,我想隐藏“今天”和“前一天”的文本。谢谢CFlex的提示!
发布于 2016-11-24 00:33:24
我知道这是老生常谈,但我想补充一下我以前用来节省别人时间的方法。
pagerTitleStrip.setNonPrimaryAlpha(0F);发布于 2019-08-12 14:53:10
问题可能是老的,但仍然是相关的。我是在同时编写两个寻呼机的程序时遇到这个问题的,在那里,在寻呼机之间设置下一个和之前的标签是非常不雅观的。但有一个简单的解决办法:
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
}
}https://stackoverflow.com/questions/28565115
复制相似问题