我不知道为什么 action bar 和 title 是两行的。 请帮我在同一条线上完成。
源代码如下:
@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));
}
最佳答案
你标题下的那一行是 TAB 导航,虽然它是一个 ActionBar 功能,但据我了解,你认为(我同意)它不是“主要”ActionBar 的一部分。
如果您想要在主 ActionBar 上进行某种导航,您可以通过在 res/menu/main.xml 中添加操作项来实现,例如使用 ID action_next 和 action_previous。如果你这样做,你可以删除
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
然后您可以将其添加到您的 Activity 中:
@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);
}
关于android - Action Bar 和 Title 不在一条线上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803521/