2011-08-26 13 views
26

Mi aplicación para Android no muestra el nombre de la aplicación "nombre_aplicación", sino que muestra el nombre de la actividad "título". Esto es de mi archivo manifiesto;No se muestra el nombre de la aplicación para Android

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

¿Por qué la aplicación recibe su nombre de la actividad principal e ignora la etiqueta de la aplicación?

Ésta es la plena manifiesta

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.extempor.cheetah" 
    android:versionCode="1" 
    android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".InfoHelp" 
       android:label="@string/titleInfo"> 
     <intent-filter> 
      <action android:name="android.intent.action.HELPINFO" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="10" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

    </manifest> 
+0

que añadir código completo del archivo menifest –

+0

Creo que usted debe comprobar [este mensaje] (http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-title). Es la forma correcta de llegar a la solución. –

Respuesta

5

sólo se puede apreciar una etiqueta a la vez. Etiqueta de aplicación o etiqueta de actividad.

Si establece una etiqueta y ejecuta una actividad, verá la etiqueta de Actividad.

Para ver la etiqueta de la aplicación, no establece android:label="@string/title" en la actividad principal.

+0

Supuse que la etiqueta de la aplicación sería el nombre asociado con la aplicación y la etiqueta de actividad sería la etiqueta vinculada a la actividad, pero cuando miro mi aplicación en el menú de la aplicación, se muestra la etiqueta de actividad. – user913240

1

Debe reemplazar

<activity android:name=".Main" 
      android:label="@string/title"> 

con

<activity android:name=".Main" 
      android:label="@string/app_name"> 
+1

No quiero que la actividad tenga el mismo nombre que la aplicación. Quiero que la aplicación se llame "Cheetah" y quiero que la etiqueta de la actividad principal muestre "Word Puzzle Solutions". El nombre de la aplicación debe mostrarse con el icono de la aplicación en el menú de la aplicación. Esto no está sucediendo, en su lugar, la aplicación muestra el nombre de la actividad. – user913240

0

En todas las actividades que debe cambiar el valor de

android:label 

a

"@string/app_name" 

Actualizado:

así la respuesta es que la primera actividad con la etiqueta @ string/título es su principal actividad que viene en el menú de inicio. Entonces debes establecer la etiqueta para esa actividad. Otra solución es crear una actividad de temperatura y llamar a la actividad principal desde allí y configurar su actividad principal la etiqueta de título y su actividad de temperatura la etiqueta de nombre de aplicación y hacer que su actividad de temperatura sea el iniciador principal.

espero que esto ayude

Gracias

+0

¿Por qué? Si puede tener una etiqueta para cada actividad y también una etiqueta para la aplicación, ¿por qué deberían ser todas iguales? – user913240

+0

Dado que la barra de estado en la parte superior cambia cuando la actividad nueva aparece en la parte superior. entonces, en ese caso, debe editar la etiqueta de cada actividad con el nombre que desea poner en esa barra de estado de actividad particular. – Shah

+0

No es la barra de estado que es el problema, está mostrando la información correcta. Es el menú de la aplicación que tiene el icono y el nombre de la aplicación. Pero no muestra la etiqueta de la aplicación del manifiesto, sino que muestra la etiqueta de actividad. – user913240

-1

Usted puede dar directamente el suyo nombre de la aplicación a la misma como Android: lable = "APP_NAME" o compruebe la suya String.xml archivo en la carpeta Valores

3

Incluso me di cuenta lo mismo y parece que es un error! Debe informar a Google :)

+1

Acabo de publicarlo como un error 19852 en el sitio de Android. – user913240

21

Esta pregunta ha explicado la razón de esto a mí:

Naming my application in android

El lanzador realidad muestra android: label y android: icono de actividad (es) que se declare :

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

por lo que la etiqueta de la aplicación no sirve de nada.

4

Puede acaba de establecer su lanzador etiqueta sin muchas actividades como el nombre de la aplicación y luego establecer el título actionbar manualmente en el código para que la actividad

getSupportActionBar().setTitle(R.string.title_user_login); 

Esto es, por supuesto, si está utilizando una barra de acción. ¡Los títulos de las actividades normales son feos de todos modos!

EDITAR: diciendo que puede ver el cambio de texto en el inicio!

1

Uso

this.setTitle(""); 

en su onCreate() de su actividad y utilizar el nombre de la aplicación preferida en el @ string/nombre_apl para

<application> android:lable = "@string/app_name" </application> 
1

Si usted o alguien que se está enfrentando el problema entonces aquí está la solución que funcionó para mí.

Mantenga la etiqueta y la etiqueta de solicitud Actividad principal misma en el manifiesto como se muestra a continuación

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
<activity android:name=".Main" 
      android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

en el archivo main.java establece la etiqueta de su actividad como se muestra a continuación (supongo que está utilizando la barra de acción)

ActionBar actionBar = getSupportActionBar(); 
actionBar.setTitle(getResources().getString(R.string.title)); 

antes de instalar esta aplicación modificada, desinstale la versión anterior reinicie su teléfono y ahora instale la aplicación modificada.

Espero que esto ayude.

1

Si está utilizando Android studio, entonces debería extender AppCompatActivity y solo se mostrará la actividad.

Ejemplo de código: Actividad principal: MainActivity clase pública se extiende AppCompatActivity

styles.xml

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
</style> 

0

Si está utilizando el estudio de Android, también está utilizando MapsActivity entonces debería extienda ActionBarActivity, también ponga el nombre de la aplicación en String.xml. Es un trabajo para mi gracias

<resources> 
<string name="app_name">App Name</string> 
<string name="title_activity_maps">Map</string> 

5

que tienen el mismo problema, solución para mí:

en MainActivity.java cambio:

public class MainActivity extends Activity {...} 

para

public class MainActivity extends AppCompatActivity {...} 
2

necesita

public class MainActivity extends AppCompatActivity {.....} 

si no puede extender AppCompatActivity, entonces puede agregar alternativamente la última línea del código siguiente para mostrar un título en la barra.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    toolbar.setTitle("the name i want to appear"); 
Cuestiones relacionadas