Soporte para Android Barra de herramientas que no muestra la costumbre dibujable correctamente
Estoy tratando de actualizar mi ActionBar aplicaciones en la barra de herramientas, pero me encontré con un problema en la personalización de mi barra de herramientas para mostrar una costumbre drawable.
Lo que he intentado hasta ahora es establecer mi xml dibujable en la barra de herramientas, pero destruye toda la barra de herramientas y se mueve el botón del menú donde no puedo verlo correctamente:
- Cómo cambiar la barra de herramientas superior de Android
- Efecto de ondulación en la barra de herramientas cortada
- Cambiar TextColor en SearchView mediante la barra de herramientas de Android
- Manera correcta de cambiar Collapseble Título de la barra de herramientas
- Añadir diseño personalizado a ActionBar / Toolbar sin márgenes
Aquí está el primero dibujable:
Bg_actionbar.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/bg_gradient" /> <item android:drawable="@drawable/icon_logo" /> </layer-list>
Bg_gradient es sólo un gradiente de imagen 9patch y lo mismo con el icon_logo.
Y para mi barra de herramientas:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/actionBar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@drawable/bg_actionbar" app:contentInsetEnd="0dp" app:contentInsetStart="0dp"> </android.support.v7.widget.Toolbar>
Éste empuja mi botón del menú abajo y tiene un espaciamiento de cerca de 300dp a la izquierda con el icono encogido en altura.
Ahora sólo traté de cambiar directamente el fondo directamente en sólo la imagen png (bg_gradient) y lo mismo sucede. También he intentado agregar un ImageView dentro de la barra de herramientas, pero lo mismo que acaba de destruir toda la barra de herramientas y una vez más estoy perdido sobre cómo puedo personalizar esta barra de herramientas más. ¿Alguien tiene la idea? TIA.
ACTUALIZAR:
Intenté agregar una disposición linear en la barra de herramientas para contener el fondo pero todavía no aparece correctamente en mi extremo:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/actionBar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/cherry_red" app:contentInsetEnd="0dp" app:contentInsetStart="0dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bg_actionbar"/> </android.support.v7.widget.Toolbar>
Esto es lo que pasó:
Además, esto es lo que esperaba que fuera:
El icono debe estar en el centro y la imagen de 9patch como degradado ya que estoy teniendo problemas con XML para tener un porcentaje en los colores de inicio y final y el icono de navegación debe estar encima del degradado.
- Cambiar el color de la barra de estado con AppCompat ActionBarActivity
- CollapsingToolbarLayout no funciona (colapsando) cuando se desplaza
- Android: layout_height = "? Attr / actionBarSize" no funciona con soporte: design: 23.0.0 'library
- No se puede bloquear el evento de clic de botón de inicio de la barra de herramientas
- Spinner onItemSelected no se llama usando Marsmallow
- Desapareciendo el título de la barra de herramientas
- Falta el icono de navegación después de cambiar de ICS ActionBar a Lollipop Toolbar
- Cambiar el color de búsqueda de la parte trasera y el icono de la barra de herramientas de Android
Hey creo que esto ayudará porque tengo una aplicación con algo similar
Mi xml es así:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/custom_toolbar" android:layout_width="match_parent" android:layout_height="56dp" android:background="@drawable/actionbar_bg" > <RelativeLayout android:id="@+id/toolbar_logo" android:layout_width="140dp" android:layout_height="40dp" android:background="@drawable/ic_logo" android:layout_gravity="left|center_vertical" android:clickable="true"> </RelativeLayout> </android.support.v7.widget.Toolbar>
Mientras que el drawable / actionbar_bg es así:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#4093A3" android:angle="90" /> </shape> </item> </layer-list>
Espero que esto te ayude.
Utilice el ejemplo xml siguiente para su diseño
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/toolbar_home" android:id="@+id/tool_bar" /> </LinearLayout>
Toolbar_home.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/actionbar_icon_bg"/> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:src="@drawable/ic_launcher" android:layout_centerInParent="true"/> </RelativeLayout>
En su Actividad,
toolbar = (Toolbar) findViewById(R.id.tool_bar); setSupportActionBar(toolbar); //or setActionBar(toolbar)
Para obtener el icono de navegación y otras cosas
toolbar.setNavigationIcon(R.drawable.btn_main_nav_selector); getSupportActionBar().setDisplayHomeAsUpEnabled(true); // or getActionBar().setDisplayHomeAsUpEnabled(true);
.Utilizar
Gravity
en su View
interior
Espero eso ayude
- Cómo agregar una imagen panorámica en la aplicación google cartón?
- TIMEZONE_CHANGED intención que se recibe cada pocos segundos