给我的Android应用程序命名

75

我觉得我正变得老糊涂,因为我曾坚信要给应用程序命名,就必须填写清单的这个部分:

<application android:icon="@drawable/icon"  android:label="MyApplicationName">

但出于我不理解的某种原因,我的应用程序获取了我第一个活动的名称,在该活动中我加载数据,因此它被称为"Loading",在清单文件中定义如下:

<activity android:name="AccueilSplash" android:label="Loading">

有任何想法吗?


1
还可以看看这个问题,它解释了如何在应用抽屉中为您的应用程序设置不同的名称,而不是活动标题。https://dev59.com/pHA75IYBdhLWcg3wFEsI#7250902 - Neocy
3个回答

86
启动器实际上显示声明了android:labelandroid:icon的活动。
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

因此,应用程序标签没有用。


44
如果你的活动本身没有标签,实际上应用标签会被使用。我的建议是,在你的应用程序上始终设置标签和图标(这将显示在诸如“管理应用程序”等位置),并且只在需要与整个应用程序不同的活动上设置标签或图标。 - hackbod
1
好的,如果我想为我的应用程序设置一个合适的名称,我需要设置我的第一个活动标签...这就是我想的。谢谢。 - Sephy
2
或者您可以删除第一个活动的标签并使用应用程序标签。 - shim
3
我认为这是真正的解决方案 - Vivek Todi
如果在应用程序标签和其活动中未定义android:label,则它会在活动的标题栏中选择包名称。因此,请始终在您的应用程序标签中定义android:label。 - Arun Kumar
我一直在尝试在百度上发布应用程序(这非常困难)。该网站不会询问我应用程序的标题,而是从清单中的“应用程序标签”设置标题,与谷歌不同。 - Attacktive

15

我猜你在使用eclipse工具,这是一个已知的问题。关于这个问题,可以参考Google组-Android开发者的讨论。

<activity>标签的android:label字段中,应用和第一个活动名称相同。

如果你想在应用列表和第一个活动中使用不同的标题,有以下选项:

1.a) 只在清单文件中设置应用名称。

<application
        android:label="@string/app_name"
        ... >

对于第一个 Activity 不要指定 android:label="@string/title_first_activity",它会继承应用程序的标签。

或者

1.b) 在清单文件中的第一个 Activity 的 android:label 字段中设置应用程序名称。

 <activity
            android:label="@string/app_name"
            ... >
            <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
                  <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
 </activity>

<application>元素将与<activity>元素具有相同的标签,无论您是否为<application>元素的android:label字段指定值。

下一步是:

2) 在FirstActivity.class中在运行时设置第一个Activity的标题。

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

        setContentView(R.layout.activity_login);
        setTitle(R.string.title_activity_login);
        //TODO: insert the rest of the code
}

这样,您的第一个活动将在手机屏幕上显示后的几分钟内更改标题。


还在如何更改Android应用程序名称?中有解释。 - Dan Dascalescu
谢谢,伙计。好的解决方案。 - amilab

3

您是指运行应用程序时屏幕顶部的标题吗?如果是这样,我相信该标题栏显示当前活动的标签。


是的,我知道,每个活动顶部的标题可以通过在我的清单中定义的标签来命名。但我说的是应用程序的名称。实际上,它是显示在手机桌面上应用程序图标下方的名称... - Sephy
4
经过测试,我发现只有使用外部字符串作为应用标签才能使其起作用。不会产生任何变化。然而, <application android:icon="@drawable/icon" android:label="@string/app_name"> 会显示我在strings.xml中设置的“app_name”的内容。 - Matt Swanson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接