Pregunta

Estoy escribiendo una aplicación Compact Framework para Windows Mobile 6.5. La aplicación se vende en el mercado windowsphone. Para ello, tengo que apoyar a los distintos tamaños de pantalla y resoluciones ... pero ¿cómo puedo hacer esto? ¿Hay una mejor práctica más o menos? Yo uso principalmente controles estándar, pero una imagen de fondo en el Mainform ... tengo que guardarlo en cualquier resolución y mostrar de forma dinámica, en función del dispositivo de mis carreras de aplicaciones?

Gracias por sus sugerencias y ayuda

Thomas

¿Fue útil?

Solución

Voy a empezar diciendo que este es un tema controvertido.

Mi opinión personal es que debe identificar significativamente diferente resolución / tamaños de rangos y proporcionar una capa de interfaz de usuario diferente que puede cambiar cuando se detecta un cambio de tamaño que va de un rango a otro (de forma dinámica el cambio podría incluso no ser un requisito para usted - en ese caso, sólo comprueba en tiempo de carga). Este enfoque, obviamente, no tiene sentido si los rangos que identifica son muy limitados y similares entre sí, ya que dentro del mismo rango que su aplicación debe ser capaz de cambiar el tamaño decentemente.

tratando de abordar todas las posibles soluciones con la misma capa de interfaz de usuario puede sonar como una gran idea, pero puede ser una receta para el desastre. Es posible que funcione, pero tendrá muy probable final con un ovillo de hilo, con un montón de declaraciones IF-ELSE y el interruptor mirando tamaños de pixel, cambiar el tamaño de los controles y se mueven las cosas.

Si se piensa en ello, Google Maps (para uno, pero pensar en cualquier aplicación para el iPhone) no sirve a la misma interfaz de usuario en el móvil y el navegador de tu ordenador y así sucesivamente. Si esa es la diferencia de tamaño que estamos hablando (VS móvil resoluciones de escritorio similar), entonces usted tendrá que rodar diferentes capas de interfaz de usuario como por mi sugerencia anterior.

El Santo Grial es el llamado diseño líquido - WPF podría ayudar en esto, pero ya que estás en el marco compacto que está descartado

.

Recientemente he hecho una pregunta muy similar - puede tener una mirada en ella aquí si quieres leer opiniones diferentes .

Otros consejos

Este es un toughie. He tenido resultados razonables con el siguiente plan de bajo esfuerzo. (Esto se orienta Winform, por cierto)

El mayor problema es con las resoluciones que son menor de lo esperado. Por lo tanto crear sus pantallas lo más pequeño posible y prestar especial atención a la configuración de anclaje y atraque. Cuando se muestra cada forma fija a pantalla completa y las propiedades de anclaje deben hacer un trabajo razonable de mostrar las cosas de una manera sana.

Esto sólo comienza a parecer tonto si la resolución es mucho mayor de lo previsto.
Nota Puede encontrar el tamaño de la pantalla de la plataforma actual a través de la llamada Screen.PrimaryScreen.Bounds.

Recientemente he construido una pequeña aplicación, sólo para probar cosas. Que necesitaba para mostrar una imagen de fondo, por lo que no podía usar los controles incorporados como etiqueta y así sucesivamente, ya que no son compatibles con fondo transparente.

Terminé dibujo toda la interfaz en el caso de la pintura de la forma, usando GDI +.

Manejo de diferentes resoluciones de pantalla resultó ser bastante simple: la interfaz está prototipo para una pantalla de 96 ppp regular (el más pequeño) entonces todos los tamaños son escalados usando un factor calculado como 96 / actual_dpi. Puede recuperar la configuración de PPP real de la pantalla utilizando el código que se encuentra aquí (un poco viejo pero sigue trabajando). Entonces probé la aplicación con todas las resoluciones proporcionadas por los emuladores y no encontró problemas.

Advertencia:. I "perdido" la parte inferior de la pantalla para que se necesitaba nada especial para hacer frente a las pantallas cuadradas y el paisaje / orientación vertical

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top