如何移除默认情况下出现在操作栏中的应用程序图标和标题?
这里有一个类似的问题:我能否在Honeycomb中隐藏操作栏中的应用程序图标?,但它没有说明如何操作。
调用getActionBar()
获取ActionBar
,然后使用setDisplayShowHomeEnabled()
和setDisplayShowTitleEnabled()
方法设置其显示图标和标题。
如果您希望使用 XML 的方式实现,那么请在 /res/values-v11/ 文件夹中定义一个样式(XML 文件),其内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>
<style name="MyActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:displayOptions"></item>
</style>
</resources>
在你的AndroidManifest.xml中为你的活动设置上面定义的主题:
<activity
...
android:theme="@style/MyTheme">
...
</activity>
这将删除图标和标题,只显示操作项。如果您只想显示标题,请使用:
<item name="android:displayOptions">showTitle</item>
或者只是应用程序的标志:
<item name="android:displayOptions">showHome</item>
或者两者都是(默认值)
<item name="android:displayOptions">showHome|showTitle</item>
还有其他选项可用,例如:showCustom、useLogo、homeAsUp。
style
块中不包含“android:”的name
中重复item
条目。这将访问需要覆盖以使新样式起作用的AppCompat属性。 - Abid H. Mujtaba尝试
getActionBar.setIcon(R.color.transparent);
这将帮助您:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
//the rest of your code...
}
actionBar.setIcon(R.color.transparent);
actionBar.setTitle("");
ActionBar actionbar=getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(false);
actionbar.setIcon(android.R.color.transparent);
用户 android.R.color.transparent
getSupportActionBar().setHomeButtonEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setIcon(R.color.transparent);
getSupportActionBar().setDisplayShowTitleEnabled(true)
<item name="abDisplayOptions">showTitle</item>
。 - James<item name="android:displayOptions">useLogo|showHome|showTitle</item>
。我将对其进行翻译并使其更加易懂。 - Cel