59

如何删除操作栏中默认出现的应用程序图标和标题?

这里有一个类似的问题:我可以从 Honeycomb 的操作栏中隐藏应用程序图标吗?,但它没有谈论如何做到这一点?

4

8 回答 8

130

呼叫setDisplayShowHomeEnabled()setDisplayShowTitleEnabled()打开ActionBar,您可以通过呼叫获得getActionBar()

于 2011-04-19T18:15:23.700 回答
79

如果您想以 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

于 2012-08-23T16:11:52.200 回答
15

尝试

getActionBar.setIcon(R.color.transparent);
于 2013-07-30T20:36:36.120 回答
2

这将帮助您:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActionBar actionBar = getActionBar();
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);

        //the rest of your code...
}
于 2014-04-09T17:48:21.823 回答
1
actionBar.setIcon(R.color.transparent);

actionBar.setTitle("");
于 2014-07-08T09:59:05.727 回答
1

在 onCreate() 中试试这个

ActionBar actionbar=getSupportActionBar();
actionbar.setDisplayHomeAsUpEnabled(false);
actionbar.setIcon(android.R.color.transparent);

用户 android.R.color.transparent

于 2014-10-01T09:02:32.563 回答
0

试试这个组合

    getSupportActionBar().setHomeButtonEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(false);
    getSupportActionBar().setIcon(R.color.transparent);
    getSupportActionBar().setDisplayShowTitleEnabled(true)
于 2013-11-10T05:33:18.567 回答
-2

如果您想简单地删除整个 actionbar,您可以尝试 actionBars 的hide方法:

getActionbar().hide();
于 2015-01-17T21:54:12.657 回答