如何隐藏起来的动作条按钮(how to hide up button in actionbar)

2019-07-20 11:10发布

我愿做一个编辑模式,在平板电脑的Gmail应用程序的风格。 如果用户按下动作条,比我想告诉他/她的动作来看,是对左侧的完成按钮,并在右侧的删除按钮编辑按钮。

我有没有actionbarsherlock这里工作的例子: https://code.google.com/p/romannurik-code/source/browse/misc/donediscard

我想坚持actionbarsherlock,由于兼容性原因。

这是我解决它在onCreateOptionsMenu方式:

getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.white));
getSupportActionBar().setIcon(R.drawable.white);

for (int i = 0; i < menu.size(); i++) {
    menu.getItem(i).setVisible(false); }

getSupportActionBar().setDisplayHomeAsUpEnabled(false); 什么也不做,所以我不得不首页图标设置为白色1x1像素绘制。

我也不得不设置动作条的背景颜色,为的ActionView的背景色。 如果我没有,比1x1的家图标将有填充它周围,和原来的背景色将是围绕着白色的home键可见。

任何人都得到了这个更好的解决办法?

编辑:我也不得不改变风格:

<style name="Theme.Styled" parent="Theme.Sherlock.Light">
        <item name="android:homeAsUpIndicator">@drawable/white</item>
        <item name="homeAsUpIndicator">@drawable/white</item>
</style>

Also..settings安卓:homeAsUpIndicator增加了我的分API级别从8到11,这也是一个问题。

Answer 1:

如果你在上面API级别14,而不是使用ActionbarSherlock,该代码在onCreateOptionsMenu将禁用向上按钮,取出左侧插入符号,并删除图标:

ActionBar actionBar = getActionBar();
if (actionBar != null) {
    actionBar.setHomeButtonEnabled(false); // disable the button
    actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret
    actionBar.setDisplayShowHomeEnabled(false); // remove the icon
}


Answer 2:

你是几乎没有。 要完全隐藏图标/标识,使用setDisplayShowHomeEnabled(false) 。 你只使用调用删除的小箭头,指示该图标充当“向上”按钮也。



Answer 3:

这为我工作,但其在上述方案中的微小变化

android.support.v7.app.ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setHomeButtonEnabled(false); // disable the button
            actionBar.setDisplayHomeAsUpEnabled(false); // remove the left caret
            actionBar.setDisplayShowHomeEnabled(false); // remove the icon
        }


Answer 4:

虽然这是一个老帖子,我想和大家分享这为我工作的一个答案。

若要隐藏在动作条UP键,使用OnCreateOptionsMenu如下:

if (getSupportActionBar() != 
           getSupportActionBar().hide();
       }

要删除动作条UP键,使用OnCreateOptionsMenu如下:

if (getSupportActionBar() != 
           getSupportActionBar().setDisplayHomeAsUpEnabled(false);
       }

我希望这将有助于新手。



文章来源: how to hide up button in actionbar