Con bandas de fondo con dos colores?

Estoy intentando crear una barra inferior con el fondo como esto:

Introduzca aquí la descripción de la imagen

Actualmente estoy usando el siguiente código:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:endColor="#000000" android:startColor="#696969" android:centerColor="#696969" android:angle="270" /> <stroke android:color="#696969" /> <padding android:left="2dp" android:top="3dp" android:right="2dp" android:bottom="3dp" /> </shape> </item> </selector> 

Pero la salida se ve así …:

Introduzca aquí la descripción de la imagen

¿Cómo conseguir esto, fondo de dos colores? Por favor sugiera .. Gracias

Como otros señalaron, un juego de nueve sería ideal en esta situación (y no tomará mucha memoria) . Trabajar con XML no es óptimo. Aquí hay algo que puede probar:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:bottom="20dp"> <shape android:shape="rectangle" > <size android:height="20dp" /> <solid android:color="#ff0000" /> </shape> </item> <item android:top="20dp"> <shape android:shape="rectangle" > <size android:height="20dp" /> <solid android:color="#0000ff" /> </shape> </item> </layer-list> 

En este caso su opinión se considera ser 40dp alto

Es una lista de capas con dos bloques en diferentes colores. El problema con el enfoque XML es que no se puede ajustar la altura de los bloques a un porcentaje (= 50%). Tienes que usar la mitad del tamaño real de la vista en dp. Lo que significa que usted tiene que ajustar este dibujable cada vez que cambie su altura de vista / diseño. Un juego de nueve se ajustaría automáticamente a esto.

Cree gradient.xml en / res / drawable:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#00000000"/> </shape> 

Y en su archivo de diseño main.xml en / res / layout:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/gradient"> </LinearLayout> 

Puede especificar el ángulo reemplazando el valor de ángulo de android: y el color de inicio / fin reemplazando android:startColor and android:endColor .

He encontrado una solución para ti, si estás dispuesto a renunciar a usar XML para dibujarlo …

Dibujo de: Gradientes y sombras en los botones

¡Eso es lo que quieres! Pero diferentes colores, tamaño, y como un botón …

 Bitmap bmResult = Bitmap.createBitmap(buttonWidth, buttonHeight, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bmResult); Paint paint = new Paint(); paint.setShader(new LinearGradient (0, 0, 0, bmResult.getHeight()/2, 0xFF284560, 0xFF284060, TileMode.MIRROR)); canvas.drawPaint(paint); paint.setShader(new LinearGradient (0, 0, 0, bmResult.getHeight()/2, 0x55FFFFFF, 0x22FFFFFF, TileMode.CLAMP)); paint.setMaskFilter(new BlurMaskFilter(3, BlurMaskFilter.Blur.NORMAL)); canvas.drawRect(0, 0, bmResult.getWidth(), bmResult.getHeight()/2, paint) 

… cambiando el color, por supuesto.

No estoy seguro de si podría utilizar un XML Layout y hacer referencia a este botón de Java solo o tendrás que terminar haciendo todo tu diseño en Java en oposición a XML … eso sería otra pregunta para el SO.

Espero que ayude. Aunque, puede ser mi ignorancia, pero también recomendaría ir la ruta 9patch.

PS Soy totalmente nuevo en Java y uso de bitmaps, así que publicaré una solución más completa para tu caso si lo descubro todo.

Usted podría apenas crear una imagen de ella y repetirla a lo largo de la coordenada de x.

Puede utilizar una imagen de 9png como fondo.
Consulte http://developer.android.com/guide/developing/tools/draw9patch.html

Editar:
Puede seguir este tutorial http://android10.org/index.php/articlesother/279-draw-9-patch-tutorial

  • DrawerLayout modificar la sensibilidad?
  • Android: LinearLayout con match_parent no coincide con Parent
  • Espacio entre el scrollview anidado y la barra de herramientas de colapso android
  • Estilizar vistas compuestas
  • Crear un selector de estilos
  • Translucent Dialog Theme para Holo
  • Mostrar un anuncio en la parte inferior sin superponer la vista de lista
  • RelativeLayout no actualiza correctamente el ancho de la vista personalizada
  • Cómo agregar tres niveles ListView en ExpandableListView en android
  • El desplazamiento automático se produce cuando Horizontal RecyclerView se coloca como un elemento en un RecyclerView vertical
  • Rendimiento: ViewGroup with Children VS. Vista personalizada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.