2

我按照本教程android:label通过更改清单(AndroidManifest.xml)的应用程序节点中的字段来更改我的 Android 应用程序的名称。

应用节点:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.pps" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

strings.xml - 包含不同字符串名称的 XML 文件。

<resources>
<string name="app_name">PPS</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main"></string>
</resources>

完成此任务后,名称仍然不会显示。这是我在运行应用程序并将其安装在我的测试设备上时看到的。

仅应用程序图标; 无名

android:label当我通过添加文本来更改活动节点中的当前值时发生了一件奇怪的事情<string name="title_activity_main"></string>,应用程序似乎继承了它作为它的名称。为什么会发生这种情况?我是否错误地声明了某些内容?某些价值观是否冲突?

更新:

当我选择“管理应用程序”时,我实际上看到了应用程序的名称。

在此处输入图像描述

4

3 回答 3

6

默认情况下,Android 将第一个活动的名称 (android.intent.action.MAIN) 作为应用程序的显示名称。要为您的活动设置标题,您应该在活动中进行 setTitle() 调用。例如

您的清单如下所示:

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

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

您的活动如下所示:

public class EntryPoint extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setTitle(R.string.title_activity_main);

}

希望有帮助。

于 2012-10-25T07:09:14.407 回答
1

抽屉里的东西不是应用程序,而是应用程序的启动器/主要活动

因此,您看到该活动的名称是合乎逻辑的(一个应用程序可以有多个活动)。如果您出于某种原因不希望该活动具有名称,那么您不应该对它最终没有名称感到惊讶。一个名字。

可能最好的办法是“修复”为什么你不希望它有名字?隐藏它,或类似的东西。

于 2012-10-25T07:10:52.227 回答
0

此处字符串为空

 <string name="title_activity_main"></string>

将上面的行更改为

 <string name="title_activity_main">Your Activity Name</string>
于 2012-10-25T06:52:55.420 回答