2010-08-11 7 views
6

J'ai une application Android avec 2 activités. Je suit dans le AndroidManifest:Comment nommer Application 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> 

Les activités sont bien nommés, mais l'application utilise le nom du projet plutôt que le android:label (@ string/app_name) Je l'ai donné. Si je vais supprimer l'application, je vois qu'il est nommé en utilisant le android:label. Pourquoi le nom qui est affiché sous l'icône du lanceur de programme ne pas utiliser android:label dans le nœud d'application?

Répondre

4

Ceci peut ne pas être la réponse que vous cherchez, mais vous pouvez définir le titre de l'activité en utilisant setTitle(string title).

Définir le titre par programme, et définissez le titre de l'application dans le manifest.xml en utilisant l'étiquette de l'activité principale.

+1

Oui, ça a marché, merci. Je pense toujours que l'étiquette android: dans le noeud d'application devrait être le nom de l'application sur le lanceur. Juste ma façon de penser ... – nickfox

+0

Je perds la trace de la logique de la question. nickfox pose une question sur le nom de l'application, puis accepte une réponse à propos des activités ... – Sephy

+0

Sephy, J'ai mis l'android: label dans le nœud de l'application et dans le nœud de l'activité principale à @ string/app_name. C'est le nom affiché sur le programme de lancement. J'ai utilisé setTitle (titre de chaîne) dans la méthode onCreate de l'activité principale pour réinitialiser l'étiquette dans l'activité principale, permettant ainsi à mon activité principale d'avoir une étiquette différente de celle du programme de lancement. Désolé – nickfox

0

Selon cette référence:

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

il est l'étiquette de l'activité principale. Toutefois, si vous ne définissez pas d'étiquette dans l'activité, l'étiquette de l'application est prise.

+0

En fait, cette référence parle de l'étiquette d'activité, pas de l'étiquette d'application. et il semble que l'étiquette ne soit pas utilisée de la même manière. Mais oui pour une raison inconnue, l'application prend l'étiquette de l'activité principale ... – Sephy

+0

je lis ce lien. Donc, en substance, le nom de l'application sur le lanceur de programme ne peut pas être différent de l'étiquette de l'activité principale? C'est ce que cela semble indiquer, cela n'a tout simplement aucun sens pour moi. – nickfox

+0

@Sephy: oui mais il y a aussi d'autres liens qui expliquent l'étiquette de l'application. Et les deux informations ensemble semblent montrer que c'est l'activité principale. –

Questions connexes