Android Tabs in middle of layout

后端 未结 2 1766
无人共我
无人共我 2021-01-14 03:39

In the middle of my layout I want to have 2 tabs to choose between viewing 2 different lists in the second half of the screen. How can I do this?

Here is an image il

2条回答
  •  轮回少年
    2021-01-14 04:13

    You can try using a ViewPager with PagerTabStrip

    You can add fragments as page tabs by implementing a FragmentPagerAdapter

    In your layout xml file, you should be able to move around the ViewPager to anywhere in your layout like you would most other components. I haven't tried centering it, but I have placed things above and below it, and it behaves as you would expect.

    
    
        
    

    FragmentPagerAdapter example

     public class FragmentPagerAdapter extends android.support.v4.app.FragmentPagerAdapter
    {
        final int PAGE_COUNT = 2;
    
        private final String[] PAGE_TITLES =
                {
                        "Fragment1",
                        "Fragment2"
                };
    
        public FragmentPagerAdapter()
        {
            super(getSupportFragmentManager());
        }
    
        @Override
        public int getCount()
        {
            return PAGE_COUNT;
        }
    
        @Override
        public CharSequence getPageTitle(int position)
        {
            return PAGE_TITLES[position];
        }
    
        @Override
        public Fragment getItem(int position)
        {
            switch(position)
            {
                case 0:
                    return new Fragment1();
                case 1:
                    return new Fragment2();
                default:
                    return null;
            }
    
        }
    }
    

    and in your main Acivity:

        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    ...    
            mCustomPagerAdapter = new FragmentPagerAdapter();
            mViewPager = (ViewPager) findViewById(R.id.pager);
            mViewPager.setAdapter(mCustomPagerAdapter);
    
    ...
        }
    

提交回复
热议问题