Android应用程序名称不会在应用程序抽屉中显示

时间:2012-10-25 06:48:41

标签: android android-layout

我通过更改清单的应用程序节点(AndroidManifest.xml)中的字段android:label来关注更改Android应用程序名称的this tutorial

应用程序节点:

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

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

Application icon only; no name

当我通过向android:label添加文本来更改活动节点中存在的<string name="title_activity_main"></string>的值时发生了奇怪的事情,应用程序似乎继承作为其名称为什么会这样?我是否错误地宣布了什么?有些价值观会发生冲突吗?

更新

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

enter image description here

3 个答案:

答案 0 :(得分:6)

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

你的清单如下:

<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);

}

希望有所帮助。

答案 1 :(得分:1)

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

因此,只有逻辑才能看到该活动的名称(一个应用程序可以拥有更多活动)。如果您不希望该活动因某种原因而有名称,那么您不应该对它最终没有名称感到惊讶。一个名字。

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

答案 2 :(得分:0)

字符串为空这里

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

将以上行更改为

 <string name="title_activity_main">Your Activity Name</string>