Título del centro de Android con el cajón de navegación

Actualmente tengo un cajón de navegación con una barra de herramientas que tiene un título, deseo centrar este título dentro de la barra de herramientas, pero la barra de herramientas no parece tener en cuenta el icono del cajón como se puede ver en la siguiente imagen.

Fuera de centro

Mientras que cuando uso la misma disposición de la barra de herramientas para otras actividades que no están dentro del cajón de la navegación el título se centra perfectamente, como se muestra en esta imagen:

Introduzca aquí la descripción de la imagen

Entonces, ¿cómo puedo conseguir que tenga en cuenta este icono?

Aquí está mi diseño:

<android.support.design.widget.AppBarLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/Theme.App.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/black" app:popupTheme="@style/Theme.App.PopupOverlay"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:textColor="@color/white" android:textStyle="bold" android:text="Title" android:textSize="16sp" /> </RelativeLayout> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> 

4 Solutions collect form web for “Título del centro de Android con el cajón de navegación”

Necesita entender que el widget de la barra de herramientas extiende la clase ViewGroup y que tiene su propio LayoutParams .

Así que no necesita RelativeLayout dentro de la barra de herramientas, y necesita agregar sólo una línea con TextView.

 android:layout_gravity="center_horizontal" 

Y el final xml debería verse así,

 <android.support.design.widget.AppBarLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/Theme.App.AppBarOverlay" > <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/black" app:popupTheme="@style/Theme.App.PopupOverlay" > <TextView android:id="@+id/toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Title" android:textColor="@color/white" android:textSize="16sp" android:textStyle="bold" /> </android.support.v7.widget.Toolbar> 

Quite el RelativeLayout , a continuación, cambie su TextView la TextView manera:

 <android.support.design.widget.AppBarLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/Theme.App.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/black" app:popupTheme="@style/Theme.App.PopupOverlay"> <TextView android:id="@+id/toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Title" android:textColor="@color/white" android:textSize="16sp" android:textStyle="bold"/> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> 

Después de esa llamada setDisplayShowTitleEnabled , para quitar el título original, en el método onCreate de su actividad:

 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowTitleEnabled(false); ... } } 

Este es el resultado obtenido:

Introduzca aquí la descripción de la imagen

Necesitas cambiar android:layout_width="wrap_content" a android:layout_width="match_parent" en Textview …..

Espero que esto ayude. Trate de usar este código en su xml, su código con pocos cambios:

Introduzca aquí la descripción de la imagen

 <TextView android:id="@+id/toolbar_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="title" android:gravity="center" android:textColor="#ffffff" android:textSize="21dp" android:textStyle="bold" android:paddingRight="30dp" android:paddingLeft="10dp" android:paddingTop="15dp" /> 

Utilice esto para cada actividad. Esto se asegurará de que su texto cubriría el espacio entero al lado del icono y centraría el texto dentro de él.

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:paddingTop="15dp" android:src="@drawable/ic_keyboard_arrow_left_black_24dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:id="@+id/toolbar_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="title" android:gravity="center" android:textColor="#ffffff" android:textSize="21dp" android:textStyle="bold" android:paddingRight="30dp" android:paddingLeft="10dp" android:paddingTop="15dp" /> </RelativeLayout> --------Nav_Drawer layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/nav_header_height" android:background="@drawable/side_nav_bar" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:theme="@style/ThemeOverlay.AppCompat.Dark" android:orientation="vertical" android:gravity="bottom"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:src="@android:drawable/sym_def_app_icon" android:id="@+id/imageView" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="@dimen/nav_header_vertical_spacing" android:text="Android Studio" android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="android.studio@android.com" android:id="@+id/textView" /> </LinearLayout> 
  • La barra de acción contextual no superpuesta a mi barra de herramientas
  • ¿Dónde defino XML para el widget de la barra de herramientas en Android 5.0?
  • Eliminación del margen izquierdo del ícono de navegación de Android
  • ¿Cómo obtener una barra de progreso bajo el ActionBar en Material Design?
  • Barra de herramientas para fragmentos y Gaveta de navegación
  • Obtención de la barra de herramientas en el fragmento
  • Diseño de material de Android de la barra de herramientas / SupportActionBar
  • ¿Debemos reemplazar la barra de acción por ToolBar?
  • Implementación correcta de SearchView en la barra de herramientas de Android
  • Barra de herramientas transparente para la barra de herramientas de despliegue agotada
  • La actividad no se cierra al hacer clic en el botón de la barra de herramientas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.