在this tutorial的帮助下,我为我的Android应用创建了一个PagerAdapter。
现在我想为每个页面添加一个标题(就像在Play商店中一样)。 我找到了这个图书馆:http://viewpagerindicator.com/ 但我无法找到如何在我的应用程序中实现它或如何使用它。
有人可以向我解释用法吗?
如果需要,这是我的PagerAdapter的代码:
public class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 5;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch(position) {
case 0:
resId = R.layout.farleft;
break;
case 1:
resId = R.layout.left;
break;
case 2:
resId = R.layout.middle;
break;
case 3:
resId = R.layout.right;
break;
case 4:
resId = R.layout.farright;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
答案 0 :(得分:8)
现在我想为每个页面添加一个标题(比如在Play商店中)
PagerTabStrip
和PagerTitleStrip
位于Android支持包中,您可以从中获取ViewPager
。只需添加其中一个作为ViewPager
的孩子,其中android:layout_gravity
表示您是希望条带位于顶部还是底部。然后,正如Luksprog指出的那样,将getPageTitle()
添加到您的PagerAdapter
。
Here is a sample project演示使用PagerTabStrip
。
但我无法找到如何在我的应用中实现它或如何使用它。
基本说明位于您链接的页面上。将一个ViewPagerIndicator小部件添加到您的布局中,放置在您想要的位置(例如,使用vertical
LinearLayout
将一个小部件堆叠在ViewPager
之上。在setAdapter()
上致电ViewPager
后的某个时间,请在指标窗口小部件上调用setViewPager()
,向其提供ViewPager
。您需要再次在getPageTitle()
上实施PagerAdapter
。
答案 1 :(得分:2)
今天,我发现图书馆PagerSlidingTabStrip是一个比android的默认选择更好的选择。
https://github.com/astuetz/PagerSlidingTabStrip
PS:很抱歉发帖作为答案,我没有足够的评论声誉。