Android滑动和标签ui - 什么是"最佳做法"和最新的?

时间:2016-01-27 09:31:59

标签: android swipe android-tabs

我过去经常使用" Android ActionBar FragmentPagerAdapter ViewPager "这看起来有点过时 - 是否有更新,更先进/更好的指导/技术来做这些事情?

Android 4.4

例如:

private ViewPager viewPager;
private TabsPagerAdapter mAdapter;
private ActionBar actionBar;

和TabsPagerAdapter类:

public class TabsPagerAdapter extends FragmentPagerAdapter {

    FrontEndController context;
    WearListFragment wearListFragment;
    MobileListFragment mobileListFragment;
    FavouriteListFragment favouriteListFragment;
    AdvancedControlFragment advancedControlFragment;
    ControlFragment controlFragment;
    SetupFragment setupFragment;
    StatusFragment statusFragment;

        public TabsPagerAdapter(FragmentManager fm,FrontEndController context) {
            super(fm);
            this.context =context;

        }

    // "Setup", "Advanced","Favourite","Status","Control", "Mobile", "Wear"

    @Override
        public Fragment getItem(int index) {

            switch (index) {
                case 0:
                    //Setup
                    setupFragment = new SetupFragment();
                    setupFragment.setContext(context);
                    return setupFragment;

                case 1:
                    advancedControlFragment = new AdvancedControlFragment();
                    advancedControlFragment.setContext(context);
                    return advancedControlFragment;


                case 2:
                    favouriteListFragment= new FavouriteListFragment();
                    favouriteListFragment.setContext(context,this);
                    return favouriteListFragment;


                case 3:
                    statusFragment = new StatusFragment();
                    statusFragment.setContext(context);
                    return statusFragment;

                case 4:
                    controlFragment = new ControlFragment();
                    controlFragment.setContext(context);
                    return controlFragment;


                case 5:
                    mobileListFragment = new MobileListFragment();
                    mobileListFragment.setContext(context);
                    return mobileListFragment;

                case 6:
                    wearListFragment = new WearListFragment();
                    wearListFragment.setContext(context);
                    return wearListFragment;
            }

            return null;
        }

        @Override
        public int getCount() {
            // get item count - equal to number of tabs
            return 7;
        }

    public WearListFragment getWearListFragment() {
        return wearListFragment;
    }

    public MobileListFragment getMobileListFragment() {
        return mobileListFragment;
    }

    public FavouriteListFragment getFavouriteListFragment() {
        return favouriteListFragment;
    }


}

2 个答案:

答案 0 :(得分:1)

你有很多可能性:

默认Android标签和viewpager:

Creating Swipe Views with Tabs

插件(推荐):

最着名的:

PagerSlidingTabStrip

enter image description here enter image description here

实施指南:https://stackoverflow.com/questions/26178838/pagerslidingtabstrip implement-guide

他人:

List of ViewPager plugs

答案 1 :(得分:0)

在棒棒糖5.0之后,我们主要使用AppCompatActivity,Toolbar来代替ActionBar。 http://developer.android.com/reference/android/widget/Toolbar.html