动作栏和标题不是一行

时间:2013-09-14 15:52:53

标签: android android-actionbar

image

我不知道为什么动作栏和标题是两行的。 请帮我在同一个1行上进行。

源代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);

    mPagerAdapter = new MyPagerAdapter(getSupportFragmentManager());

    final ActionBar actionBar = getActionBar();
    actionBar.setHomeButtonEnabled(false);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    mViewPager = (ViewPager) findViewById(R.id.pager);
    mViewPager.setAdapter(mPagerAdapter);
    mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
        @Override
        public void onPageSelected(int position) {
            actionBar.setSelectedNavigationItem(position);
        }
    });

    for (int i = 0; i < mPagerAdapter.getCount(); i++)
        actionBar.addTab(actionBar.newTab().setText(mPagerAdapter.getPageTitle(i)).setTabListener(this));
}

2 个答案:

答案 0 :(得分:0)

你标题下面的行是TAB导航,虽然它是一个ActionBar功能,据我所知,你认为(我同意)它不属于&#34;主要&#34;动作条。

如果您想在主ActionBar上进行某种导航,可以通过在res / menu / main.xml上添加操作项来实现,例如使用ID action_next和action_previous。如果您正在执行此操作,则可以删除

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

然后您可以将其添加到您的活动中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

    case R.id.action_previous:
        mViewPager.setCurrentItem(mViewPager.getCurrentItem() - 1);
        return true;

    case R.id.action_next:
        mViewPager.setCurrentItem(mViewPager.getCurrentItem() + 1);
        return true;
    }

    return super.onOptionsItemSelected(item);
}

答案 1 :(得分:0)

如果您想要主ActionBar上的标签,可以使用ActionBar.setCustomView!提供具有标题和自定义标签导航的自定义导航视图。