【问题标题】:android actionbar is below tabs in xlarge screensandroid 操作栏位于 xlarge 屏幕中的选项卡下方
【发布时间】:2014-10-26 10:55:03
【问题描述】:

在我的应用程序中,在其中一个活动中,我有 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: 我知道 ActionBar 在 android 5.0 中已被弃用,目前我无法选择替换 actionbar。稍后我将不得不更换它,但目前我必须解决这个问题。

提前致谢。

【问题讨论】:

    标签: android android-layout android-activity android-actionbar


    【解决方案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);
    

    【讨论】:

    • 谢谢,我稍后再检查,遗憾的是我必须等到星期一,但还是谢谢。
    • 它完全解决了问题,现在它可以按我的意愿工作,我会接受这个作为答案。谢谢人... alooott。但请详细说明那个 abs_home 以及我应该放在那里的内容......
    【解决方案2】:

    当您隐藏 Home 项目时,选项卡会显示在顶部。这是known issue,但谷歌将其标记为“按预期工作”。您可以在此bug report 中找到一些解决此问题的方法。 另外,请看this question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 2013-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      相关资源
      最近更新 更多