2010-08-11 62 views
6

我有一个包含2个活动的Android应用程序。我在AndroidManifest如下:如何命名Android应用程序

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="false"> 
    <activity android:name=".MyCellTracker" android:label="@string/activity1_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
<activity android:name=".DisplaySuccess" android:label="@string/activity2_name"></activity> 

活动都是正确的,但应用程序正在使用的项目名称,而不是android:label(@字符串/ APP_NAME)我已经给了它。如果我去删除应用程序,那么我看到它使用android:label来命名。为什么程序启动器中图标下显示的名称在应用程序节点中未使用android:label

回答

4

这可能不是您正在寻找的答案,但您可以使用setTitle(string title)来设置活动标题。

以编程方式设置标题,并使用主要活动的标签在manifest.xml中设置应用标题。

+1

是的,这确实奏效,谢谢。我仍然认为应用程序节点中的android:label应该是启动器上应用程序的名称。只是我的想法...... – nickfox 2010-08-11 21:02:13

+0

我正在放弃对问题逻辑的追踪。 nickfox询问应用程序名称,然后接受关于活动的答案... – Sephy 2010-08-11 21:03:38

+0

Sephy,我在应用程序节点和主活动节点中设置了android:label到@ string/app_name。这是程序启动器上显示的名称。我在主要活动的onCreate方法中使用了setTitle(字符串标题)来重置主要活动中的标签,从而允许我的主要活动具有与程序启动器不同的标签。 – nickfox 2010-08-11 21:09:12

0

根据该参考:

http://developer.android.com/guide/topics/manifest/activity-element.html#label

它是主要活动的标签。但是,如果您未在活动中设置标签,则会采用应用程序的标签。

+0

实际上,这个引用是关于Activity标签的,而不是Application标签。看起来标签的使用方式不同。但是,对于一个未知的原因,应用程序采用主要活动的标签... – Sephy 2010-08-11 20:40:03

+0

我阅读了该链接。那么,本质上,程序启动器上的应用程序名称不能与主要活动标签不同?这似乎表明,这对我来说没有意义。 – nickfox 2010-08-11 20:45:17

+0

@Sephy:是的,但也有其他链接解释应用程序的标签。而这两个信息似乎都表明它的主要活动。 – 2010-08-11 20:47:41

相关问题