在我的应用程序中,在其中一个活动中,我有2个选项卡显示不同的内容,问题是当我将其加载到我的普通屏幕设备中时大屏幕设备它很好,标签位于操作栏下方,但是当我在xlarge屏幕设备中加载它时,标签会移动到操作栏的顶部,这是我处理操作栏的方式:
ActionBar ab = getActionBar();
ab.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
ab.setCustomView(R.layout.action_bar);
ab.setDisplayShowHomeEnabled(false);
ab.setDisplayShowTitleEnabled(false);
我也用过:
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
但结果在xlarge屏幕设备中是相同的。任何想法为什么会发生这种情况以及如何解决它?
PS:我知道在Android 5.0中不推荐使用ActionBar,目前替换动作栏不是我的选择。稍后我将不得不更换它,但此刻我必须解决这个问题。
提前致谢。
答案 0 :(得分:1)
隐藏Home项目时,标签会显示在顶部。这是known issue,但Google将其标记为"按预期工作"。您可以在bug report中找到解决此问题的方法。 另外,请查看this question。
答案 1 :(得分:1)
按以下顺序尝试声明ActionBar,它对我有用,我希望它适合你
actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setHomeButtonEnabled(false);
View homeIcon = findViewById(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? android.R.id.home : R.id.abs__home);
((View) homeIcon.getParent()).setVisibility(View.GONE);
((View) homeIcon).setVisibility(View.GONE);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(R.layout.action_bar);
actionBar.setDisplayShowCustomEnabled(true);