1

在本教程的帮助下,我为我的 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;
    }
}
4

2 回答 2

8

现在我喜欢为每个页面添加一个标题(就像在 Play 商店中一样)

PagerTabStrip并且PagerTitleStrip位于您从中获得的 Android 支持包中ViewPager。只需将其中一个添加为您的子项ViewPager,并android:layout_gravity指示您是要在顶部还是底部添加条带。然后,正如 Luksprog 所指出的,添加getPageTitle()到您的PagerAdapter.

这是一个示例项目,演示了PagerTabStrip.

但我不知道如何在我的应用程序中实现它或如何使用它。

基本说明在您链接到的页面上。将其中一个 ViewPagerIndicator 小部件添加到您的布局中,放置在您想要的位置(例如,使用 avertical LinearLayout将一个堆叠在您的 上方ViewPager)。在您调用 后的某个setAdapter()时间ViewPager,调用setViewPager()指示器小部件,将ViewPager. 再一次,您还需要getPageTitle()在您的PagerAdapter.

于 2012-08-29T12:57:53.743 回答
2

今天,我发现 PagerSlidingTabStrip 库是比 android 的默认库更好的选择。

https://github.com/astuetz/PagerSlidingTabStrip

PS:很抱歉发布为答案,我没有足够的评论声誉。

于 2013-08-08T14:04:37.743 回答