Esta pregunta ya se ha hecho antes, ¡pero sin ninguna respuesta satisfactoria! Así que lo estoy intentando de nuevo.
Quiero darle a mi icono de iniciador de aplicaciones (¡el que se muestra en la pantalla de inicio!) Un subtítulo diferente y más corto. Parece que el iniciador toma su etiqueta de la sección del festival principal sobre la etiqueta de la actividad principal, como aquí:
<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>
Ya cambié la referencia original al nombre de mi aplicación @ string / app_name a un recurso de cadena diferente y más corto aquí.
PERO - grande PERO : ¡esto también, por supuesto, cambia el título predeterminado de esta actividad! Y no quería que eso sucediera, ¡hay suficiente espacio para un nombre de aplicación largo! Configurar el título largo nuevamente al onCreate
usar el setTitle(int)
método tampoco sirve, porque el nombre corto será visible para el usuario por un corto tiempo, ¡pero lo suficiente como para darse cuenta!
Y, por favor, no responda mi pregunta refiriéndose a una barra de título personalizada ... ¡No quiero ir tan lejos, solo por un estúpido título de cadena! ¡Es una molestia dibujar una barra de título personalizada para tan poco efecto!
¿No hay una manera fácil de darle al lanzador una cadena diferente para mostrar? ¡Gracias por tus respuestas!
Editar: Una razón más por la que tener una barra de título personalizada es una molestia es que no se verá como la barra de título predeterminada, ¡tendría que hacer cosas explícitamente para que se parezca en cada dispositivo! ¡Y eso no puede ser una solución si, después de todo, no quiero una apariencia diferente!
Estaba buscando lo mismo y esto es lo que funcionó para mí.
Esto le dará un nombre corto al ícono del iniciador de aplicaciones.
Para agregar un nombre más grande a la barra de aplicaciones solo tiene que agregar:
a su archivo java de actividad principal.
fuente
showTitle
dedisplayOptions
. Luego puede activar el título en la actividad deonCreate
esta manera: this.getActionBar (). SetDisplayOptions (ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_TITLE); Esto es mejor que el nombre del ícono parpadeando, pero significa que cada actividad en su aplicación tendrá que activar el título si lo requiere.setTitle(R.string.app_name);
?La solución de Mark Renouf me falla (usando Nexus 4 y Android 4.4). Falla cuando se usan accesos directos, los accesos directos usan la etiqueta de actividad principal en lugar del nombre de la aplicación. Vi algunas aplicaciones como GMail y Google Keep que funcionan bien. Pero cuando los abres, noto que es como un momento entre el título en blanco y aparece el título (que parece mejor que el nombre de la aplicación parpadeando antes de configurar el título usando setTitle ()).
Así que aquí está la mejor solución que encontré :
Cree un estilo donde ActionBar no muestre el título / etiqueta:
Estoy usando un cajón de navegación y un logotipo (porque uso un logotipo y un icono para mi aplicación). Puede usar lo que sea, pero no use showTitle . Luego, en AndroidManifest.xml, configure el tema para MainActivity:
Luego, en el método onCreate () de MainActivity, establezca el título de su Barra de acción:
Después de eso , puede llamar:
Difícil pero vale la pena.
fuente
Esto probablemente no satisfaga lo que quiere hacer, pero ¿ha pensado en crear una pantalla de presentación que se muestre muy brevemente (con el título predeterminado) y luego inicie su nueva actividad "principal" real con el título que elija usando el
setTitle(int)
método ? No he intentado esto para ver si funciona, pero eso podría crear un trabajo agradable que no muestre la naturaleza menos que perfecta de lo que está tratando de lograr.fuente
Para cualquiera que use Support / Appcompat Toolbar a través del
setSupportActionBar()
método, el título de Actividad se puede establecer en Toolbar XML:Esto anulará las etiquetas de aplicación y actividad establecidas en el manifiesto.
android.support.v7.widget.Toolbar
fuente
Encontré una solución para este problema
en
manifest.xml
Escriba el nombre de su aplicación en la actividad
android:label
del iniciador (principal) .Esto hará que la etiqueta de su actividad principal sea igual a la de la etiqueta de la aplicación.
Luego, en
onCreate()
función de su actividad de Lanzador (principal), escriba esta declaraciónAquí escriba la etiqueta que desea dar a su actividad de Lanzador (principal).
fuente
Puedes hacer algo como esto:
Tendrá que crear un diseño personalizado para mantener el título. Podría ser tan simple como (llamado
my_title.xml
en este caso):En su
AndroidManifest.xml
archivo solo tiene que establecer el título de la aplicación, que es lo que se mostrará en el icono del iniciador. Para su actividad no necesita establecer un título allí.fuente
setTitle
. :-(El lanzador en realidad muestra android: label y android: icon para actividad (es) que declara
entonces la etiqueta de la aplicación no sirve.
fuente