操作栏显示在其选项卡下方

时间:2012-12-07 09:32:33

标签: android android-actionbar actionbarsherlock

当我设置这些属性时:

    actionBar = getSupportActionBar();

    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowHomeEnabled(false);
    actionBar.setDisplayShowTitleEnabled(true);
    actionBar.setTitle("Title");
    actionBar.setLogo(null);

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

ActionBar 低于其标签

但如果我评论这样:

actionBar.setDisplayShowHomeEnabled(false);

工作正常。但我希望它 false 的原因是,以避免显示appIcon。

谢谢

3 个答案:

答案 0 :(得分:7)

我搜索了这个问题,并在gitub上发现了这个帖子:https://github.com/JakeWharton/ActionBarSherlock/issues/327

您可以阅读该主题,但结论是:

  

您好。刚刚找到一个简单的解决方法。

     

在onCreate方法中使用以下内容:   
  查看homeIcon = findViewById(android.R.id.home);    
  ((查看)homeIcon.getParent())。setVisibility(View.GONE);   
  这完全折叠了主页按钮。

     

PS:我正在使用标准的ActionBar,但这应该是相同的

我希望这可以帮助你, 丹尼尔。

答案 1 :(得分:1)

我用过这个,这对我有用

    ActionBar ab = getSupportActionBar();
    ab.setDisplayShowHomeEnabled(true);
    ab.setDisplayHomeAsUpEnabled(false);
    ab.setHomeButtonEnabled(false);
    ab.setLogo(null);

    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);

    ab.setDisplayShowTitleEnabled(false);

答案 2 :(得分:0)

上面的所有帖子都会折叠主页图标,但会留下空白区域。为避免这种情况,您需要将徽标大小设置为零。下面添加了我的代码片段。如果其他人遇到同样的问题,可能会有所帮助。谢谢

       actionBar.setLogo(new ColorDrawable(Color.TRANSPARENT));

      View homeIcon = findViewById(
                Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ? 
                android.R.id.home : R.id.abs__home);
        ((View) homeIcon.getParent()).setLayoutParams(new LayoutParams(0, 0));
        ((View) homeIcon).setVisibility(View.GONE);