我通过更改清单的应用程序节点(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>
完成此任务后,名称仍然无法显示。这是我在运行应用程序并将其安装在我的测试设备上时看到的内容。
当我通过向android:label
添加文本来更改活动节点中存在的<string name="title_activity_main"></string>
的值时发生了奇怪的事情,应用程序似乎继承作为其名称为什么会这样?我是否错误地宣布了什么?有些价值观会发生冲突吗?
更新
当我选择“管理应用”时,我实际上会看到应用程序的名称。
答案 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>