从android上的操作栏中删除图标/徽标
我一直在试图从操作栏中find一些删除图标/标识的方法,但是在search一小时之后我发现了唯一的东西,Android的文档和Google是如何删除整个标题栏的。 那不是我想要的。 只想从标题栏中删除图标/标志。
任何人都知道如何做到这一点? 最好我想用XML来做到这一点。
如果您在AndroidManifest.xml的<application>标签中定义了android:logo="..." ,那么您需要使用这个东西来隐藏图标: 
pre-v11主题
 <item name="logo">@android:color/transparent</item> 
V11和主题
 <item name="android:logo">@android:color/transparent</item> 
这两种风格的使用已经适当地隐藏了2.3和4.4设备上的操作栏图标(这个应用程序使用AppCompat )。
在您的操作栏样式中添加以下代码:
 <item name="android:displayOptions">showHome|homeAsUp|showTitle</item> <item name="displayOptions">showHome|homeAsUp|showTitle</item> <item name="android:icon">@android:color/transparent</item> <!-- This does the magic! --> 
PS:我使用Actionbar Sherlock,这工作得很好。
如果你不想在特定的活动图标。
 getActionBar().setIcon( new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
这对我有效
 getActionBar().setDisplayShowHomeEnabled(false); 
调用
 mActionBar.setDisplayHomeAsUpEnabled(true); 
此外,
 mActionBar.setDisplayShowHomeEnabled(false); 
将隐藏标志,但显示主页为上图标。 🙂
请注意:
 <item name="android:icon">@android:color/transparent</item> 
也将使您的选项项目透明。
  //disable application icon from ActionBar getActionBar().setDisplayShowHomeEnabled(false); //disable application name from ActionBar getActionBar().setDisplayShowTitleEnabled(false); 
 getActionBar().setIcon(android.R.color.transparent); 
这对我有效。
你也可以在AndroidManifest.xml中添加下面的代码。
 android:icon="@android:color/transparent" 
它会正常工作。
但是我发现这样会产生一个问题,因为启动器图标也变得透明。
所以我用:
 getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
它工作正常。
但是,如果您有多个活动并希望将活动上的图标设置为透明,则以前的方法将起作用。
删除或显示标题使用:
 getActionBar().setDisplayShowTitleEnabled(true); 
删除或显示标志使用:
 getActionBar().setDisplayUseLogoEnabled(false); 
移除所有:
 getActionBar().setDisplayShowHomeEnabled(false); 
我用这个,它为我工作。
  getActionBar().setIcon( new ColorDrawable(getResources().getColor(android.R.color.transparent))); 
 getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent))); getActionBar().setDisplayHomeAsUpEnabled(true); 
我想确切的答案是:对于api 11或更高版本:
 getActionBar().setDisplayShowHomeEnabled(false); 
除此以外:
 getSupportActionBar().setDisplayShowHomeEnabled(false); 
(因为它需要一个支持库)。
去你的清单find应用程序标签
  android:icon="@android:color/transparent"// simply add this on place of your icon 
….. …
Qiqi Abaziz的回答是可以的,但是我仍然努力了很长一段时间才能使用兼容包,并将样式应用到正确的元素。 另外,透明度破解是不必要的。 所以这里是一个完整的例子工作v8和以上:
值\ styles.xml
 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyActivityTheme" parent="@style/Theme.AppCompat"> <item name="actionBarStyle">@style/NoLogoActionBar</item> <!-- pre-v11-compatibility --> <item name="android:actionBarStyle">@style/NoLogoActionBar</item> </style> <style name="NoLogoActionBar" parent="@style/Widget.AppCompat.ActionBar"> <item name="displayOptions">showHome</item> <!-- pre-v11-compatibility --> <item name="android:displayOptions">showHome</item> </style> </resources> 
AndroidManifest.xml (shell)
 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/> <application android:theme="@android:style/Theme.Light.NoTitleBar"> <activity android:theme="@style/PentActivityTheme"/> </application> </manifest> 
进入你的清单,find你的活动,然后添加下面的代码:
 android:theme="@android:style/Theme.NoTitleBar" 
 上面一行隐藏你的操作Actionbar 。 
如果您需要其他function,您可以使用(CLR + SPC)查看其他选项。
最快的方法是修改你的Manifest.xml。 例如,如果您要删除“活动”活动的徽标,并将徽标保留在其他活动中,则可以执行以下操作:
 <activity android:name=".home.XActivity" android:logo="@android:color/transparent" android:configChanges="orientation|keyboardHidden" /> <activity android:name=".home.HomeActivity" android:configChanges="orientation|keyboardHidden" />