Cómo centrar el título en una barra de herramientas (incluso con el botón de la barra de herramientas de nuevo se muestra)

¿Cómo centrar el título de una actividad en la barra de herramientas de tal manera que funciona también con el botón de la barra de herramientas de nuevo se muestra?

Actualmente, la mejor solución que he encontrado es tener un margen de 60dp si se muestra el botón de retroceso.

2 Solutions collect form web for “Cómo centrar el título en una barra de herramientas (incluso con el botón de la barra de herramientas de nuevo se muestra)”

No sé cómo es la mejor práctica, pero puede probar esta solución utilizando el botón de retroceso personalizado dentro de la barra de herramientas. El código de diseño:

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" app:contentInsetLeft="0dp" app:contentInsetStart="0dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/toolbar_back_button" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:src="@drawable/ic_back" /> <TextView android:id="@+id/toolbar_title" style="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" /> </RelativeLayout> </android.support.v7.widget.Toolbar> 

Y el código en actividad:

  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); TextView toolbarTitle = (TextView) findViewById(R.id.toolbar_title); setSupportActionBar(toolbar); ImageView backButton = (ImageView) findViewById(R.id.toolbar_back_button); backButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); 

Al usar SOLO el botón de atrás, esto funcionó para mí. En xml:

 <android.support.v7.widget.Toolbar android:id="@+id/tb_title_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textAllCaps="true" android:textColor="#2B2B2B" android:textSize="14sp" /> </android.support.v7.widget.Toolbar> 

En código java:

 int contentInsetStartWithNavigation = mTitleContainer.getContentInsetStartWithNavigation(); mTitleContainer.setContentInsetsRelative(0, contentInsetStartWithNavigation); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.