2011-02-18 7 views
9

Tengo una estructura de vista de lista, con diseño relativo que usa imágenes de fondo alternantes para elementos impares/pares. Estoy tratando de establecer el fondo dibuja dinámicamente mediante el cálculo de la posición. Es funcionó bien con el mapa de bits normal. Pero cuando traté de usar la imagen de parche de rompe la interfaz de usuario, todos los elementos se distorsionan. ¿Qué estoy haciendo mal? ¿Podría ser cómo se crea la imagen ninepatch o es hay una manera diferente de utilizar una imagen de nueve parche en comparación con un mapa de bits normal .Problema con la imagen de 9 parches como fondo

Mi Lista Ver XML es el siguiente

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:id="@+id/id01" 
     android:background="@drawable/my_9patch_bg_image"> 
     <ImageView /> 
     <RelativeLayout> 
     <ImageView /> 
      <TextView /> 
      <TextView /> 
     </RelativeLayout> 
</RelativeLayout> 

puede ser la solución here podría funcionar para mi problema. Es exacto, aunque tengo que intentarlo.

+0

puede ser que haya mal formateada-9-parche? –

+0

He intentado diferentes variaciones de la imagen de 9 parches, todas las cuales dan la vista previa que deseo. Pero el contenido dentro de mi primer RelativeLayout se ha ido cuando esa actividad de vista de lista particular está activa. Sin embargo, funcionó bien con una imagen de mapa de bits normal. –

+0

Una captura de pantalla de lo que está sucediendo, una imagen de lo que quiere que suceda y el parche 9 podría ayudar a las personas a determinar cuál es el problema. – ChrisJD

Respuesta

0

Puede usar nueve parches de la misma manera que usa un dibujo normal. Supongo que tienes un problema con el parche 9 en sí. En el directorio/tools de su sdk de android, tiene la herramienta de parche draw 9. Le ayudará a corregir los 9 parches dibujables y a obtener una vista previa de los diferentes tamaños de su vista.

+0

Intenté arreglar la imagen con el herramienta draw9patch. Intenté diferentes variaciones pero no conseguí que funcionara. ¿Cuál debería ser la forma ideal de dibujar si se supone que la imagen debe escalar en dirección (+ x, -y)? –

32

Dado que nadie le respondió hace un año ... Tuve el mismo problema que tiene que ajustar el cero (incluso si no lo necesita).

Buena suerte.

+0

¡Lo hace! –

+0

Gracias !!!! ¡¡Funciona!! –

+0

Esta respuesta debe marcarse como aceptada, de todos modos +1 puedo dar :) ¡¡¡Gracias !!! esto funciona – Zoombie

0

seleccionar todos los lados excepto esquinas como los bordes de estiramiento

0

puede utilizar este XML como fondo para mostrar como cardview.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item> 
    <shape android:dither="true" android:shape="rectangle"> 
     <corners android:radius="2dp" /> 
     <solid android:color="#e2e2e2" /> 
    </shape> 
</item> 
<item android:bottom="2dp"> 
    <shape android:dither="true" android:shape="rectangle"> 
     <corners android:radius="2dp" /> 
     <solid android:color="@color/white" /> 
    </shape> 
</item> 

Cuestiones relacionadas