从Honeycomb操作栏中删除应用程序图标和标题

pra*_*ant 59 android android-3.0-honeycomb android-actionbar

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

这里有一个类似的问题:我可以隐藏Honeycomb的Action Bar中的App图标吗?,但它没有谈论如何做到这一点?

Com*_*are 130

打电话setDisplayShowHomeEnabled()setDisplayShowTitleEnabled()ActionBar,您通过将呼叫得到getActionBar().

  • 有什么办法通过XML删除图标? (10认同)
  • 刚想通了......你使用abDisplayOptions并设置你想要的useLogo,showHome,homeAsUp,showTitle和showCustom的组合.我只想要没有图标的标题,所以我做了`<item name ="abDisplayOptions"> showTitle </ item>` (8认同)
  • @James尝试使用你的xml字母来表示信件,这显然不起作用,所以为了保存其他人找到正确的东西,例如`<item name ="android:displayOptions"> useLogo | showHome | showTitle </ item>` (7认同)
  • 是的它完美地工作,但它也从actionbar中删除homeUpIndicatior所以如果需要HomeUpIcon并且不需要logo图标那么你可以设置getActionBar.setIcon(R.color.transparent); (2认同)

Ber*_*ink 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>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中,为您的活动设置上面定义的主题:

<activity
    ...
    android:theme="@style/MyTheme">
    ...
</activity>
Run Code Online (Sandbox Code Playgroud)

这将删除图标和标题,仅显示操作项.如果您只想显示标题,请使用:

<item name="android:displayOptions">showTitle</item>
Run Code Online (Sandbox Code Playgroud)

或者只是应用程序徽标:

<item name="android:displayOptions">showHome</item>
Run Code Online (Sandbox Code Playgroud)

或两者(默认)

<item name="android:displayOptions">showHome|showTitle</item>
Run Code Online (Sandbox Code Playgroud)

其他选项也可用,例如:showCustom,useLogo,homeAsUp


Adí*_*Adí 15

尝试

getActionBar.setIcon(R.color.transparent);
Run Code Online (Sandbox Code Playgroud)