代码之家  ›  专栏  ›  技术社区  ›  mahdi yamani

android如何更改滑动标签默认位置

  •  1
  • mahdi yamani  · 技术社区  · 11 年前

    这是我制作滑动标签的代码。它可以完美地制作标签。

        @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.firstactivity);
    
         // Get the ViewPager and set it's PagerAdapter so that it can display items
        ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
        viewPager.setAdapter(new SampleFragmentPagerAdapter(getSupportFragmentManager(),FistActiivty.this));
    
        // Give the SlidingTabLayout the ViewPager
        SlidingTabLayout slidingTabLayout = (SlidingTabLayout) findViewById(R.id.sliding_tabs);
        // Center the tabs in the layout
        slidingTabLayout.setDistributeEvenly(true);
        slidingTabLayout.setViewPager(viewPager);
        slidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
            @Override
            public int getIndicatorColor(int position) {
                return Color.RED;
                //or return getResources().getColor(R.color.red);
            }
        });
    
    }
    
    class SampleFragmentPagerAdapter extends FragmentPagerAdapter {
        final int PAGE_COUNT = 4;
        private String tabTitles[] = new String[] { "Tab1", "Tab2", "Tab3" , "Tab4"};
        private Context context;
    
        public SampleFragmentPagerAdapter(FragmentManager fm, Context context) {
            super(fm);
            this.context = context;
        }
    
        @Override
        public int getCount() {
            return PAGE_COUNT;
        }
    
        @Override
        public Fragment getItem(int position) {
            Fragment fragment=null; 
            if (position==0){
                fragment=new Fragment_A();
            }
            if (position==1){
                fragment=new Fragment_B();
            }
            if (position==2){
                fragment=new Fragment_C();
            }
            if (position==3){
                fragment=new Fragment_C();
            }
            return fragment;
        }
    
        @Override
        public CharSequence getPageTitle(int position) {
            // Generate title based on item position
            return tabTitles[position];
        }
    }
    

    问题是,当活动运行时,如何更改默认的选定选项卡? 如何在活动打开时将默认选项卡位置更改为第三个?

    1 回复  |  直到 11 年前
        1
  •  10
  •   Fahim    11 年前

    使用此选项,它将在加载时选择特定选项卡

    mViewPager.setCurrentItem(position);