我一直试图找到删除操作栏中的图标/标志,但我已经SO搜索的一个小时后发现的唯一的事情的一些方法,Android的文档和谷歌是如何去除整个标题栏。 这不是我想要的。 只想从标题栏中删除图标/标志。
任何一个知道如何做到这一点? 最好我想做到这一点的XML。
我一直试图找到删除操作栏中的图标/标志,但我已经SO搜索的一个小时后发现的唯一的事情的一些方法,Android的文档和谷歌是如何去除整个标题栏。 这不是我想要的。 只想从标题栏中删除图标/标志。
任何一个知道如何做到这一点? 最好我想做到这一点的XML。
如果你定义android:logo="..."
在<application>
您的标签AndroidManifest.xml
,那么你需要使用这些东西要隐藏图标:
<item name="logo">@android:color/transparent</item>
<item name="android:logo">@android:color/transparent</item>
使用这两种风格已妥善藏在2.3操作栏图标,对我来说是4.4装置(该应用程序使用程序兼容性 )。
添加以下代码在你的动作条的样式:
<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福尔摩斯,这工作得很好。
如果您不想在特定活动的图标。
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>
也将让你的选择的项目是透明的。
getActionBar().setIcon(android.R.color.transparent);
这为我工作。
//disable application icon from ActionBar
getActionBar().setDisplayShowHomeEnabled(false);
//disable application name from ActionBar
getActionBar().setDisplayShowTitleEnabled(false);
删除或使用显示标题:
getActionBar().setDisplayShowTitleEnabled(true);
删除或使用显示标志:
getActionBar().setDisplayUseLogoEnabled(false);
移除所有:
getActionBar().setDisplayShowHomeEnabled(false);
你也可以在AndroidManifest.xml中添加以下代码。
android:icon="@android:color/transparent"
它将很好地工作。
但我发现,这给出了一个问题,因为启动器图标也变得透明。
所以我用:
getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));
它工作得很好。
但是,如果你有一个以上的活动,并希望进行透明的活动图标,则前一种方法会奏效。
我用这个和它的工作对我来说。
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);
(因为它需要一个支持库)。
去你的清单中找到应用程序标签
android:icon="@android:color/transparent"// simply add this on place of your icon
..... ... ...
淇淇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中 (壳)
<?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>
去你的清单,并找到你的活动,然后添加以下代码:
android:theme="@android:style/Theme.NoTitleBar"
上面的线隐藏你的Actionbar
。
如果你需要其他的功能,你可以看到(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" />
以上都不工作。
但是,这并获得成功:
override fun onCreate() {
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
toolbar.logo = null
(从工具栏中删除图标)