Cette question a déjà été posée - mais sans réponse satisfaisante! Je réessaye donc.
Je souhaite donner à l'icône du lanceur d'applications (celle qui s'affiche sur l'écran de démarrage!) Une légende différente et plus courte. Il semble que le lanceur tire son étiquette de la section mainfest sur l'étiquette de l'activité principale, comme ici:
<activity android:name="MainActivity" android:label="@string/app_short_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
J'ai déjà changé la référence d'origine au nom de mon application @ string / app_name en une ressource de chaîne différente et plus courte ici.
MAIS - grand MAIS : cela change aussi bien sûr le titre par défaut de cette activité! Et je ne voulais pas que cela se produise, il y a assez d'espace pour un long nom d'application! Définir à nouveau le titre long en onCreate
utilisant la setTitle(int)
méthode ne sert à rien non plus, car le nom court sera visible pour l'utilisateur pendant une courte période, mais suffisamment longtemps pour le remarquer!
Et - s'il vous plaît ne répondez pas à ma question en vous référant à une barre de titre personnalisée ... Je ne veux pas aller aussi loin, juste à cause d'un titre de chaîne stupide! C'est pénible de dessiner une barre de titre personnalisée pour si peu d'effet!
N'y a-t-il pas un moyen simple de donner au lanceur une chaîne différente à afficher? Merci pour vos réponses!
Edit: Une autre raison pour laquelle avoir une barre de titre personnalisée est un problème est qu'elle ne ressemblera pas à la barre de titre par défaut, je devrais explicitement faire les choses pour qu'elle se ressemble sur chaque appareil! Et cela ne peut pas être une solution si, après tout, je ne veux pas d'une apparence différente!
Je cherchais la même chose et voici ce qui a fonctionné pour moi.
Cela donnera un nom court à l'icône de votre lanceur d'application.
Pour ajouter un nom plus grand à la barre d'application, il vous suffit d'ajouter:
dans votre fichier java d'activité principal.
la source
showTitle
de ladisplayOptions
. Vous pouvez ensuite activer le titre dans l'activitéonCreate
comme ceci: this.getActionBar (). SetDisplayOptions (ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); C'est mieux que le nom de l'icône clignotant, mais cela signifie que chaque activité de votre application devra activer le titre si elle le requiert.setTitle(R.string.app_name);
?La solution de Mark Renouf échoue (en utilisant Nexus 4 et Android 4.4). Il échoue lors de l'utilisation de raccourcis, les raccourcis utilisent l'étiquette d'activité principale au lieu du nom de l'application. J'ai vu des applications comme GMail et Google Keep qui fonctionnent bien. Mais lorsque vous les ouvrez, je remarque que son comme un moment entre le titre est vide et le titre apparaît (ce qui semble mieux que le nom de l'application clignotant avant de définir le titre à l'aide de setTitle ()).
Voici donc la meilleure solution que j'ai trouvée :
Créez un style dans lequel l'ActionBar n'affiche pas le titre / l'étiquette:
J'utilise un tiroir de navigation et un logo (car j'utilise un logo et une icône pour mon application). Vous pouvez utiliser n'importe quoi mais n'utilisez pas showTitle . Ensuite, dans AndroidManifest.xml, définissez le thème de MainActivity:
Ensuite, dans la méthode onCreate () de MainActivity, définissez le titre de votre barre d'actions:
Après cela , vous pouvez appeler:
Délicat mais ça vaut le coup.
la source
Cela ne satisfera probablement pas ce que vous voulez faire, mais avez-vous pensé à créer un écran de démarrage qui s'affiche très brièvement (avec le titre par défaut), puis lance votre nouvelle activité "principale" réelle avec le titre de votre choix en utilisant la
setTitle(int)
méthode ? Je n'ai pas essayé cela pour voir si cela fonctionne, mais cela pourrait créer un travail agréable qui ne montre pas la nature moins que transparente de ce que vous essayez de réaliser.la source
Pour toute personne utilisant Support / Appcompat Toolbar via la
setSupportActionBar()
méthode, le titre de l'activité peut être défini dans Toolbar XML:Cela remplacera les étiquettes d'application et d'activité définies dans le manifeste.
android.support.v7.widget.Toolbar
la source
J'ai trouvé une solution de contournement à ce problème
dans
manifest.xml
Écrivez le nom de votre application dans l'activité
android:label
du lanceur (principal) .Cela rendra l'étiquette de votre activité principale identique à celle de l'étiquette de l'application.
Ensuite, dans la
onCreate()
fonction de votre activité Launcher (principale), écrivez cette déclarationÉcrivez ici l'étiquette que vous souhaitez donner à votre activité Launcher (principale).
la source
Vous pouvez faire quelque chose comme ça:
Vous devrez créer une mise en page personnalisée pour contenir le titre. Cela pourrait être aussi simple que (appelé
my_title.xml
dans ce cas):Dans votre
AndroidManifest.xml
fichier, il vous suffit de définir le titre de l'application, qui sera affiché dans l'icône du lanceur. Pour votre activité, vous n'avez pas besoin de définir un titre ici.la source
setTitle
. :-(Le lanceur affiche en fait android: label et android: icon for activity (s) that declare
l'étiquette d'application n'est donc d'aucune utilité.
la source