繁体   English   中英

如何在动作栏中隐藏按钮

[英]how to hide up button in actionbar

我想以平板电脑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主页图标周围将带有填充,并且原始背景颜色将在白色“主页”按钮周围可见。

有人对此有更好的解决方案吗?

编辑:我还不得不更改样式:

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

另外..settings android:homeAsUpIndicator将我的最小api级别从8增加到了11,这也是一个问题。

如果您使用的是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
}

你快到了 要完全隐藏图标/徽标,请使用setDisplayShowHomeEnabled(false) 您正在使用的通话只会删除表示该图标也充当“向上”按钮的小箭头。

这对我有用,尽管在上述解决方案中略有更改

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
        }

虽然是较旧的帖子,但我想分享一个对我有用的答案。

要在操作栏中隐藏UP按钮,请在OnCreateOptionsMenu中使用以下命令:

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

要删除操作栏中的UP按钮,请在OnCreateOptionsMenu中使用以下命令:

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

希望对新手有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM