2012-06-05 10 views
7

Tengo algunos problemas y preguntas sobre el desarrollo de la interfaz de usuario en Android. En primer lugar mirar a esta imagen:Prevención de la pixelación de imágenes, sangría listViews y agregando esquinas redondeadas

enter image description here

primer lugar en la imagen A) Se trata de una imagen que insertar y repetir horizontalmente para dar la forma de zig-zag en la parte superior de la pantalla independientemente de screensize y por encima de que una textField sin contenido y con un color de fondo - Pero como estoy seguro es posible, los dos colores no coinciden del todo como deberían, a pesar de que ambos tienen el mismo valor de color hexadecimal (# BF0426). Y en segundo lugar, también puedes ver una pixelación seria en esa imagen en zig-zag. ¿Cómo soluciono estos 2 problemas?

Y luego en la imagen B) Aquí tengo un simple ListView. Lo que me gustaría hacer es, primero sangrarlo un poco en ambos lados, y alrededor de las esquinas del ítem superior e inferior. Entonces, básicamente, quiero que se vea como el borde azul dibujado en la captura de pantalla. (Su lista de iOS típica). ¿Cómo voy a hacer esto?

¡Gracias de antemano por cualquier consejo!

Respuesta

5

Para la imagen. Solo por curiosidad, ¿por qué no ampliarías tu imagen para incluir también los píxeles superiores? En otras palabras, construya su imagen repetitiva de manera que incorpore los píxeles que está tratando de crear utilizando la vista de texto vacía. Esto al menos se ocupará de la coincidencia de color, ya que el color se generará todo desde el mismo lugar. En términos de la pixelación. ¿Estás repitiendo realmente la imagen o estás diseminando la imagen? Una difusión definitivamente causará lo que estás viendo.

Para su tabla de visión: Para las sangrías izquierda y derecha, puede usar simplemente los atributos de margen o relleno de la tabla vista. Hay atributos genéricos de margen y/o margen (que se rellenarán en la parte superior, inferior, izquierda y derecha), o hay atributos de relleno y/o margen para cada parte superior, inferior, izquierda y derecha. Aquí hay un gran enlace sobre relleno comparado con el margen que es posible que desee leer.

Difference between a View's Padding and Margin

Ejemplo atributo (como se llama en un archivo XML) para el margen inferior

android:layout_marginBottom 
setMargins(left, top, right, bottom) // for setting margins programmatically 

Ejemplo atributo (como se llama en un archivo XML) para la tapa de relleno

android:paddingTop 
setPadding(left, top, right, bottom) // for setting padding programmatically 

Para la parte superior e inferior personalizada, debe poder usar el siguiente tutorial

http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

Desde aquí, debe poder detectar el artículo como el primer y último elemento y establecer la propiedad de fondo (imagen) en una imagen de fondo que tenga una parte superior redondeada o redondeada. Así es como lo hago en el iPhone. También he implementado cosas que MIRAN como las vistas de tabla pero que son simplemente diseños verticales con mis propias vistas personalizadas que he creado para que parezcan lo que usted desea.

+0

Excelente respuesta. Muy informativo :-) ¡Muchas gracias! – Tiwaz89

+0

Contento de que haya respondido lo que necesitabas :-) – trumpetlicks

1

Una cosa a tener en cuenta es que el formato de archivo que utiliza va a mutar la imagen a medida que la guarda (compresión con pérdida), por lo que un .jpg con un cierto color puede verse diferente a un .bmp del mismo color. Asegúrese de crear usando la misma aplicación y/o la configuración de exportación cuando intente hacer coincidir imágenes.

Además, si creó su imagen con un DPI que no es compatible con la pantalla de Android, puede causar graves pixelaciones en áreas detalladas, especialmente con degradados y sombras.