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:

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ó:

Introduzca aquí la descripción de la imagen

Además, esto es lo que esperaba que fuera:

Introduzca aquí la descripción de la imagen

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.

Hey creo que esto ayudará porque tengo una aplicación con algo similar

ToolBar lograr

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 crear las pestañas de la barra de herramientas con ViewPager en el diseño del material
  • Cambiar el color de fondo de la barra de herramientas por programa no cambia Título de barra de herramientas Color de fondo
  • Barra de herramientas Android Agregar elementos de menú para diferentes fragmentos
  • Cómo mostrar los elementos de acción en la parte inferior mediante la barra de herramientas
  • El contenido del fragmento se superpone a la barra de herramientas
  • Diferencia entre support.v7.widgets y android.widgets Barra de herramientas, Fragment
  • Barra de herramientas de Android + Diseño de pestaña + Cajón, Ocultar barra de herramientas al desplazarse y llevar TabLayout a la parte superior
  • ¿Cómo hacer que la barra de herramientas en Android tenga un ancho completo?
  • Problemas de compatibilidad de interfaz de usuario entre diferentes versiones de API
  • AppBar oculta la vista al desplazarse hasta que se colapsa
  • La barra de herramientas no se desplaza en la barra de estado transparente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.