titulo studio personalizar nombre icono editar como cambiar boton bar agregar android android-actionbar android-toolbar

android - studio - Añadir vista personalizada a la derecha de la barra de herramientas



menu toolbar android (5)

Acabo de poner layout_gravity a la right y funcionó

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="0dp" android:layout_height="?android:actionBarSize" app:title="NEW REQUESTS" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="blahblah" android:layout_gravity="right" /> </android.support.v7.widget.Toolbar>

Estoy tratando de lograr esto (un temporizador en la toolbar de toolbar con fondo rojo):

Estoy tratando de agregar customView en la toolbar de toolbar . Siempre termina estando en el extremo izquierdo justo al lado de la flecha hacia atrás. Al igual que el texto YP en la imagen de abajo, hay una vista de texto personalizada agregada a la barra de herramientas. .

El código para la toolbar de toolbar :

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar android:id="@+id/base_activity_toolbar" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:elevation="4dp" android:minHeight="?attr/actionBarSize" android:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />

El código para agregar el diseño:

LayoutInflater mInflater= LayoutInflater.from(context); View mCustomView = mInflater.inflate(R.layout.textview, null); toolbar.addView(mCustomView);

Este es el diseño que estoy agregando ahora para probar:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:gravity="end" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:text="yp" android:layout_height="wrap_content"/> </LinearLayout>

Me estoy perdiendo algo importante, no pude entenderlo. Sacándome los pelos.


Las respuestas dadas funcionan, pero si desea establecer un título en la barra de herramientas (lo más probable es que lo haga), al agregar un RelativeLayout empuja el título a la derecha. En este caso, debe desactivar el título de la barra de herramientas configurando getSupportActionBar().setDisplayShowTitleEnabled(false) y agregue un TextView personalizado junto a la otra vista que desee agregar a la barra de herramientas. Entonces, como ejemplo, agregarías un ImageView esta manera:

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar android:id="@+id/base_activity_toolbar" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:elevation="4dp" android:minHeight="?attr/actionBarSize" android:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/> <RelativeLayout android:layout_width="wrap_content" android:layout_height="match_parent"> <TextView android:id="@+id/custom_toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" style="@style/ActionBarTitle"/> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:scaleType="centerCrop" android:adjustViewBounds="true" android:layout_centerVertical="true" android:layout_toRightOf="@id/custom_toolbar_title" android:src="@drawable/arrow"/> </RelativeLayout> </android.support.v7.widget.Toolbar>


Puede agregar ViewGroups dentro de la Toolbar

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="@dimen/toolbar_height" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <RelativeLayout .... </RelativeLayout> </android.support.v7.widget.Toolbar>


Solo tuve el mismo problema pero encontré una solución más simple (en mi humilde opinión).

Puedes cambiar ligeramente tu código desde:

LayoutInflater mInflater= LayoutInflater.from(context); View mCustomView = mInflater.inflate(R.layout.textview, null); toolbar.addView(mCustomView);

A :

LayoutInflater mInflater= LayoutInflater.from(context); View mCustomView = mInflater.inflate(R.layout.textview, null); toolbar.addView(mCustomView, new Toolbar.LayoutParams(Gravity.RIGHT));

Luego se agrega la vista con la gravedad ajustada a la derecha!


darle una oportunidad. cambiar R.layout.textview a

<RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TV" android:id="@+id/textView2" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> </RelativeLayout>