Estoy tratando de hacer algunas cosas en ActionBar en Android.
Ya he agregado nuevos elementos en el lado derecho de la barra de acción.
¿Cómo puedo cambiar el lado izquierdo de la barra de acción? Quiero cambiar el ícono y el texto, y quiero agregar un "Botón Atrás" en la barra de acción para las otras pantallas
android
android-layout
android-actionbar
Allan Ramírez
fuente
fuente
getSupportActionBar
lugar degetActionBar
.getActionBar().setHomeButtonEnabled(true)
usa el nivel de API 14 o superior, si solo desea la funcionalidad del botón de retroceso en las API más antiguas y más nuevas que solo necesitagetActionBar().setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowTitleEnabled(true)
entoncessupportActionBar?.title = "your title"
. Y tiene que hacerse enonResume
, no enonCreate
, al crear la actividad constartActivity
.Para que todas tus barras de acción puedan usar un solo ícono, puedes hacerlo en tu Manifiesto de Android.
fuente
pre-loads
el icono, el icono de configuración programática es lento.Solo necesita agregar estas 3 líneas de código. Reemplace el icono con su propio icono. Si quieres generar íconos usa esto
fuente
En Android 5.0, las pautas de diseño de materiales desalientan el uso del icono en actionBar
para habilitarlo agregue el siguiente código
el crédito va al autor de este artículo
fuente
Si desea cambiar el título de la barra de acción, simplemente ingrese el siguiente código de 1 línea en onCreate () de su Actividad
fuente
Puede cambiar el ícono en su agregando el ícono que desee a sus respectivas carpetas dibujables, y luego cambiando esta línea en su archivo AndroidManifest.xml:
para que coincida con el nombre de su ícono. O coloque su icono como ic_launcher, si son el mismo icono. En cuanto a lo que dice, agregue o cambie las cadenas que coincidan con eso en su archivo res / values / strings.xml. Luego, una vez más en su archivo AndroidManifest.xml, cambie esta línea:
a cualquier cuerda que tengas en su. Tendrá que hacer esto para la aplicación en su conjunto y para las actividades que desee, pero las líneas son las mismas.
Espero que esto ayude.
fuente
android:icon
etiqueta de actividad?fuente
Para eso, puedes hacerlo de 2 maneras: XML o Java. Ver aquí: Cómo cambiar el texto en la barra de acción
Entonces:
XML:
Java:
fuente
setTitle(CharSequence text)
osetTitle(int titleRes)
. No lo use arequestWindowFeature(Window.FEATURE_CUSTOM_TITLE)
menos que esté planeando reemplazar toda la barra de título con su propia Vista personalizada.Para el título establecido :
Para el conjunto de iconos :
fuente
Usé la siguiente llamada adentro
onNavigationItemSelected
:fuente
Agregue el siguiente código dentro de una función onCreate en su actividad.
fuente
Este trabajo para mi:
fuente
El título de la barra de acción, por defecto, usará la etiqueta de la actividad actual, pero también puede establecerlo mediante programación a través de
ActionBar.setTitle()
.Para implementar la funcionalidad del botón "Atrás" (más precisamente, "Arriba") del que está hablando, lea la sección "Uso del icono de la aplicación para la navegación" de guía del desarrollador barra de acción .
Finalmente, para cambiar el ícono, la guía también lo cubre. En resumen, la barra de acción mostrará la imagen suministrada
android:icon
en su manifiestoapplication
oactivity
elemento, si hay uno. La práctica típica es crear un icono de aplicación (en todas las diversas densidades que necesitará) nombradoic_launcher.png
y colocarlo en susdrawable-*
directorios.fuente
Recibí un
non-static method setTitle(CharSequence) cannot be referenced from a static context
error porque lo usésetTitle()
en la clase estática PlaceholderFragment. Lo resolví usandogetActivity().getActionBar().setTitle("new title");
fuente
Vaya al manifiesto en la actividad específica que desea cambiar Barra de acción Nombre del título y escriba android: label = "Title name"
fuente
Vaya al archivo AndroidManifest.xml . Encuentra la
<application>
etiqueta Allí puedes ver un atributoAhora ve a res> values> strings.xml
Cambiar el
a
Ejemplo
AndroidManifest.xml
strings.xml
fuente
También puede hacer lo siguiente:
fuente