在android中命名我的应用程序


73

我认为我越来越老了,因为我坚信要为您的应用程序起一个名字,您必须填写清单的这一部分:

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

但是由于我不明白的原因,我的应用程序获得了我的第一个活动的名称,在该活动中我加载数据,因此,它被称为“加载”,在清单中的定义如下:

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

知道为什么吗?


1
还要看这个问题,说明如何在应用程序抽屉中为应用程序使用与活动标题不同的名称。stackoverflow.com/questions/3488664/…–
Neocy

Answers:


85

启动器实际上显示android:labelandroid:icon针对声明的活动

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

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


44
实际上,如果您的活动本身没有标签,则使用应用程序标签。我的建议是始终在应用程序上设置标签和图标(这将显示在管理应用程序之类的位置),并且仅在需要与整个应用程序不同的活动上设置标签或图标。
hackbod 2010年

1
是的,因此,如果我想为我的应用使用合适的名称,则需要设置我的第一个活动标签...这就是我的想法。Thx
Sephy 2010年

2
或者,您可以仅删除第一个活动的标签并使用应用程序标签。
shim 2012年


如果android:label没有在application标签及其活动中定义,那么它将在活动标题栏中获取包名称。因此请始终在application标签中定义android:label。
阿伦·库玛

12

这是该工具的已知问题(我想您正在使用Eclipse)。Google Group-Android开发人员

应用程序和第一个活动共享在android:label<activity>项目的字段中指定的相同名称。

如果要在应用程序列表和第一个活动中为启动器使用不同的标题,则可以在以下选项之间进行选择:

1.a)在清单中仅设置应用程序名称。

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

并且不指定android:label="@string/title_first_activity" 第一个活动。它将继承应用程序标签。

要么

1.b)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中设置第一个活动的标题

@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
}

这样,您的第一个活动将在手机屏幕上显示后不久更改其标题。



谢谢mate.Good解决方案
amilab

2

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


是的,我知道,每个活动顶部的标题都可以通过清单中上面定义的标签来命名。但是我说的是应用程序的名称。实际上,它是在手机桌面上应用程序图标下方显示的名称...
Sephy 2010年

4
经过一些测试之后,我只能通过为应用程序标签使用外部化字符串来使其工作。<application android:icon =“ @ drawable / icon” android:label =“ AnyStringHere”>将保持不变。但是<application android:icon =“ @ drawable / icon” android:label =“ @ string / app_name”>会显示我在strings.xml中设置的“ app_name”的内容
Matt Swanson 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.