Android操作栏标签

时间:2014-02-19 07:27:43

标签: user-interface android-actionbar android-tabs action-bar-navigation

目前我正在使用操作栏选项卡,它们与4.1设备完美展示但是当我在较低版本4.0中运行相同的屏幕尺寸时,操作栏选项卡显示为“ActionBar微调器导航”

我希望他们像这样展示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    ParseAnalytics.trackAppOpened(getIntent());

    ParseUser currentUser = ParseUser.getCurrentUser();

    if(currentUser == null) {

        navigateToLogin();
    } else {
        Log.i(TAG, currentUser.getUsername());
    }

    final ActionBar actionBar = getActionBar();
    //actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);


    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);



    mSectionPargerAdapter = new SectionPargerAdapter(this, getSupportFragmentManager());

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mSectionPargerAdapter);

    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){

        @Override
        public void onPageSelected(int position) {
            actionBar.setSelectedNavigationItem(position);

            for (int i = 0; i < mSectionPargerAdapter.getCount(); i++) {
                // Create a tab with text corresponding to the page title defined by
                // the adapter. Also specify this Activity object, which implements
                // the TabListener interface, as the callback (listener) for when
                // this tab is selected.
                actionBar.addTab(actionBar.newTab()
                        .setText( mSectionPargerAdapter.getPageTitle(i))
                        .setTabListener(MainActivity.this));}
        }
    });

}

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
    mViewPager.setCurrentItem(tab.getPosition());
}

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

}

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

}

1 个答案:

答案 0 :(得分:1)

这是由系统完成的优化。第二个视图称为堆叠操作栏,第一个视图称为带有微调器的操作栏。您可以通过首先添加所有选项卡然后将操作模式栏设置为

来实现您想要的效果
setNavigationMode(ActionBar.NAVIGATION_MODE_TABS)