安卓可滚动选项卡栏

3

如果有超过 10 个选项卡,是否可以通过水平滚动来实现选项卡栏的滚动?

有人实现过类似的功能吗?

alt text

Mur

附注: 昨天我开始了一个几乎相同的话题,而我删除了它,这不好。向那位已经回答过我的人道歉,即使那不是我正在寻找的答案。

1个回答

0

实际上有一种方法可以实现这个功能,它被称为可滑动选项卡布局。我已经成功地在我开发并发布到Google Play的一个应用程序中使用了它。以下是实现它的代码:

SectionPagerAdapter类:

public class SectionsPagerAdapter extends FragmentPagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            Fragment fragment = new Fragment();
            switch (position) {
            case 0:
                return fragment = new HomeFragment();
            case 1:
                return fragment = new EventFragment();
            case 2:
                return fragment = new CoreTeamFragment();
            case 3:
                return fragment = new MapsFragment();
            case 4:
                return fragment = new FacebookFragment();
            default:
                break;
            }
            return fragment;
        }

        @Override
        public int getCount() {
            // Show 5 total pages.
            return 5;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            Locale l = Locale.getDefault();
            switch (position) {
            case 0:
                return getString(R.string.title_section1).toUpperCase(l);
            case 1:
                return getString(R.string.title_section2).toUpperCase(l);
            case 2:
                return getString(R.string.title_section3).toUpperCase(l);
            case 3:
                return getString(R.string.title_section4).toUpperCase(l);
            case 4:
                return getString(R.string.title_section5).toUpperCase(l);
            }
            return null;
        }
    }

主类

public class CentruActivity extends FragmentActivity {

    SectionsPagerAdapter mSectionsPagerAdapter;
    ViewPager mViewPager;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_centru);

        mSectionsPagerAdapter = new SectionsPagerAdapter(
                getSupportFragmentManager());
        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        // getActionBar();
    }

    public ActionBar getActionBar() {
        return null;
    }
}

希望这可以帮助到您 :)

如果这个答案对您有帮助,请考虑接受它。否则,我们非常乐意为您提供帮助 :) - Michele La Ferla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接