Configuración del título y del subtítulo de la barra de acción

Quiero establecer título y subtitil de mi barra de acción antes de tiempo de compilación. Tengo una manera de hacerlo así:

ActionBar ab = getActionBar(); ab.setTitle("My Title"); ab.setSubtitle("sub-title"); 

Pero no quiero hacerlo en tiempo de ejecución. ¿Hay algún archivo xml o cualquier ubicación donde pueda especificar estos títulos?

Estoy tratando de lograr esto:

Introduzca aquí la descripción de la imagen

Editar:

La razón por la que lo quiero en xml es que quiero que mi aplicación sea compatible con el nivel 8 de la API. Y el método getActionBar () es compatible al menos en el nivel 11.

Puede hacer algo como esto para codificar las dos versiones:

 /** * Sets the Action Bar for new Android versions. */ @TargetApi(Build.VERSION_CODES.HONEYCOMB) private void actionBarSetup() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar ab = getActionBar(); ab.setTitle("My Title"); ab.setSubtitle("sub-title"); } } 

A continuación, llame a actionBarSetup() en onCreate() . El if ejecuta el código solo en las nuevas versiones de Android y el @TargetApi permite que el código se compile. Por lo tanto, lo hace seguro tanto para versiones de API viejas como nuevas.

Como alternativa, también puede usar ActionBarSherlock ( ver edición ) para que pueda tener ActionBar en todas las versiones. Tendrás que hacer algunos cambios, como hacer que tus Actividades amplíen SherlockActivity y getSupportActionBar() a getSupportActionBar() , sin embargo, es una muy buena solución global.

Editar

Tenga en cuenta que cuando esta respuesta se escribió originalmente, ActionBarSherlock , que desde entonces se ha desaprobado , era la solución de compatibilidad de ir a.

Hoy en día, la appcompat-v7 Google ofrece la misma funcionalidad pero es compatible (y activamente actualizada) por Google. Las actividades que quieran implementar un ActionBar deben:

  • Extender AppCompatActivity
  • Utilizar un derivado Theme.AppCompat

Para obtener una instancia de ActionBar utilizando esta biblioteca, se utiliza el método getSupportActionBar() llamado.

El título para la barra de acción podría estar en el AndroidManifest, aquí:

 <activity . . . android:label="string resource" . . . </activity> 

Android: label Una etiqueta legible por el usuario para la actividad. La etiqueta se muestra en pantalla cuando la actividad debe ser representada al usuario. A menudo se muestra junto con el icono de actividad. Si no se establece este atributo, se utiliza en su lugar la etiqueta establecida para la aplicación como un todo (consulte el atributo de etiqueta del elemento). La etiqueta de la actividad, ya sea aquí o por el elemento, también es la etiqueta por defecto para todos los filtros de intención de la actividad (vea el atributo label del elemento). La etiqueta se debe establecer como una referencia a un recurso de cadena, por lo que se puede localizar como otras cadenas en la interfaz de usuario. Sin embargo, como una conveniencia mientras se está desarrollando la aplicación, también se puede establecer como una cadena sin formato.

Hay otra opción que nadie comentó, desde la Biblioteca de Soporte V7 fue implementado por Google ActionBarSupport , que es compatible con ActionBar de Android 2.2 a la última.
Si cambia su ActionBar , puede hacer getSupportActionBar().setTitle("") en todas las versiones de Android.

Intente esto:

 android.support.v7.app.ActionBar ab = getSupportActionBar(); ab.setTitle("This is Title"); ab.setSubtitle("This is Subtitle"); 

¡No! Tienes que hacerlo en tiempo de ejecución.

Si desea que su aplicación sea compatible con la versión anterior, simplemente compruebe el nivel de API del dispositivo. Si es mayor de 11, entonces puedes jugar con la ActionBar y establecer el subtítulo.

 if(Integer.valueOf(android.os.Build.VERSION.SDK) >= 11){ //set actionbar title } 
  <activity android:name=".yourActivity" android:label="@string/yourText" /> 

¡Ponga este código en su archivo del manifiesto del android y debe fijar el título de la barra de la acción a lo que usted quiere nunca!

Prueba esto:

En strings.xml añade tu título y subtítulos …

 ActionBar ab = getActionBar(); ab.setTitle(getResources().getString(R.string.myTitle)); ab.setSubtitle(getResources().getString(R.string.mySubTitle)); 

Para una actividad, puede utilizar este enfoque para especificar un subtítulo, junto con el título, en el manifiesto.

Manifiesto:

 <activity android:name=".MyActivity" android:label="@string/my_title" android:description="@string/my_subtitle"> </activity> 

Actividad:

 try { ActivityInfo activityInfo = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA); //String title = activityInfo.loadLabel(getPackageManager()).toString(); int descriptionResId = activityInfo.descriptionRes; if (descriptionResId != 0) { toolbar.setSubtitle(Utilities.fromHtml(getString(descriptionResId))); } } catch(Exception e) { Log.e(LOG_TAG, "Could not get description/subtitle from manifest", e); } 

De esta manera solo necesitas especificar la cadena de título una vez, y podrás especificar el subtítulo a su lado.

Puede definir el título en la barra de acción mediante AndroidManifest.xml . Añadir etiqueta a la activity

 <activity android:name=".YourActivity" android:label="Your Title" /> 

Prueba esto

Simplemente vaya a su archivo Manifiesto. Y Usted ha definido la etiqueta para cada actividad en su archivo de manifiesto.

 <activity android:name=".Search_Video" android:label="@string/app_name" android:screenOrientation="portrait"> </activity> 

Aquí cambia

Android: label = "@ string / your_title"

Esto es trivial de una línea en Kotlin

supportActionBar?.title = getString(R.string.coolTitle)

  • Rotación a un ImageView, dentro de un RelativeLayout
  • Widget android en evento de clic
  • Diálogo con pestañas con fragmentos en el widget
  • Visualización de la imagen dibujable desde url en un ListView
  • ¿Puedo actualizar el mensaje de cadena de un ProgressDialog?
  • Cómo actualizar parcialmente las vistas en un widget de aplicación sin reconstruir todas las RemoteViews
  • Widget de Android que no aparece en la lista después del desarrollo
  • ¿Por qué no se actualiza mi widget de aplicación en API 3 o 4?
  • ¿Cómo actualizar vista de un widget en el botón de clic en android?
  • DeslizanteDibujador sin mango y acciones deslizantes al contenido
  • Los elementos ListView no se ponen visualmente "resaltados" cuando se seleccionan durante el modo de acción contextual
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.