隐藏Android中ActionBar中的图标

时间:2014-04-03 11:52:32

标签: android android-actionbar navigation-drawer

我试图隐藏ActionBar中的应用程序徽标。为此,我使用setDisplayHomeAsUpEnabled(boolean)方法:

this.getActionBar().setDisplayHomeAsUpEnabled(true);

除了两件事之外,这几乎同样有意义:

  • 当应用程序启动(然后消失)时,图标仍然可见
  • 导航抽屉图标在某些设备上不可见(例如,在Samsung Galaxy Tab 3上)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

尝试:getActionBar().setDisplayUseLogoEnabled(false);

答案 1 :(得分:0)

  

当应用程序启动(然后消失)时,图标仍然可见

为避免这种情况,您需要在style.xml中取消显示您的徽标,如下所示:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/mActionBar</item>
    <item name="actionBarStyle">@style/mActionBar</item>
</style>

<style name="mActionBar" parent="@style/Widget.Holo.Light.ActionBar">
    <item name="android:icon">@android:color/transparent</item>
    <item name="icon">@android:color/transparent</item>
</style>  

因为您的应用从加载Theme开始,然后在Activity显示您的用户界面之后。此外,这将是一种资源方式,因为您的活动不会像主页图标等那样重新加载UI,因为它们首先由于主题而初始化。

  

某些设备上看不到导航抽屉图标

确保您拥有以下snippnet代码:

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(
    this,                  /* host Activity */
    mDrawerLayout,         /* DrawerLayout object */
    R.drawable.ic_drawer,  /* nav drawer icon to replace 'Up' caret */
    R.string.drawer_open,  /* "open drawer" description */
    R.string.drawer_close  /* "close drawer" description */
) {

    /** Called when a drawer has settled in a completely closed state. */
    public void onDrawerClosed(View view) {
        super.onDrawerClosed(view);
        getActionBar().setTitle(mTitle);
    }

    /** Called when a drawer has settled in a completely open state. */
    public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
        getActionBar().setTitle(mDrawerTitle);
    }
}; 

//...

getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true); 

并检查您的图标,或(re)download it 希望这会有所帮助。