0

简短而简单的问题:

我使用 actionBarSherlock 库,并希望只将应用程序的标签设置为某个字符串,但除非另有说明,否则所有活动都有空标签。

我知道您可以检查每个活动并将其标签设置为 "" ,但是有更好的解决方案吗?喜欢使用样式?我试过把:

<item name="android:label"></item>

在那里,但它没有做任何事情。


编辑:事实上,出于某种原因,将所有活动的标签设置为 "" ,实际上也更改了某些 android 版本上的应用程序标签(在 Galaxy s mini 上测试,使用 android 2.3),所以它的名字也是 "" . 怎么来的?这是一个错误吗?


这是 android 或我测试过的任何启动器上的错误。

似乎将活动的标签设置为 "" (或至少是主要的)将应用程序的名称设置为 "" ,因此应用程序标签的标签仅用于其所有活动的默认值。

4

1 回答 1

3

<item name="android:windowNoTitle">true</item>您可以通过放入您的应用主题来删除整个标题栏。我认为你不应该有一个没有标题的标题栏(除非在运行 3.0 或更高版本的设备上,标题栏变成 ActionBar 并具有更多功能),因为它只会浪费宝贵的空间。

如果您在 3.0+ 以及 2.3 上进行开发,请将以下元素添加到您的主题中:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:actionBarStyle">@style/ActionBar</item>
</style>

<style name="ActionBar" parent="@android:style/Widget.ActionBar">
    <item name="android:displayOptions">showHome|useLogo</item>
</style>

编辑:

styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppBaseTheme" parent="android:Theme.Holo">
        <!-- Base Theme style elements -->
    </style>

    <style name="AppTheme" parent="AppBaseTheme">
        <!-- Other style elements. -->
        <item name="android:actionBarStyle">@style/ActionBar</item>
    </style>

    <style name="AppThemeWithTitle" parent="AppTheme">
        <item name="android:actionBarStyle">@style/ActionBarWithTitle</item>
    </style>

    <style name="ActionBar" parent="@android:style/Widget.ActionBar">
        <!-- Other ActionBar style elements. -->
        <item name="android:displayOptions">showHome|useLogo</item>
    </style>

    <style name="ActionBarWithTitle" parent="ActionBar">
        <item name="android:displayOptions">showHome|useLogo|showTitle</item>
    </style>

</resources>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.themes"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.themes.Activity1"
            android:theme="@style/AppThemeWithTitle">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name="com.example.themes.Activity2" />
        <activity
            android:name="com.example.themes.Activity3" />

    </application>

</manifest>

Activity1 将显示标题,但 Activity2 和 Activity3 不会。

于 2013-05-09T13:56:24.670 回答