Tamaño de las imágenes de fondo para apoyar a todas las pantallas de Android medianas y grandes

StackOverflow https://stackoverflow.com/questions/3119730

Pregunta

Estoy escribiendo una aplicación y quiero una de mis actividades para tener un fondo,

He leído los documentos androide sobre el apoyo a múltiples resoluciones, etc., pero mi diseñador me está preguntando qué tamaño de los fondos de pantalla deberían ser y no quiero un montón de imágenes de baja, alta dpi normal, en todos los tamaños de pantalla.

¿Cuál sería la forma más eficiente el espacio más para conseguir una gran pantalla de llenado gráfico de fondo en todas las pantallas?

Android es grande y todo, pero no quiero terminar con una gran aplicación ya que necesito todos los tamaños de imágenes para todo.

¿Fue útil?

Solución

Un enfoque consiste en diseñar para las densidades y el uso de las directrices icono del diseño para los iconos y las dimensiones especificadas en el " Gama de Pantallas " en el área de href="http://developer.android.com/guide/practices/screens_support.html" rel="nofollow noreferrer"> Ofrecer múltiples pantallas guía

En las imágenes de fondo, asegúrese de tomar las dimensiones de la barra de estado en la consideración.

Se puede poner sus recursos en el dibujable-MDPI apropiado, dibujable-IPAP, carpetas dibujable-LDPI y que se utiliza adecuadamente.

Otros consejos

¿Qué hay de tener sólo una alta resolución de fondo del paisaje y el uso de una estrategia de "estiramiento" de la pantalla?

    mBackgroundGraphic = BitmapFactory.decodeResource(getResources(), R.drawable.background);
    mBackgroundGraphic = getResizedBitmap(mBackgroundGraphic);

public Bitmap getResizedBitmap(Bitmap bm) {
    int width = bm.getWidth();
    int height = bm.getHeight();
    int displayWidth = mDisplay.getWidth();
    int displayHeight = mDisplay.getHeight();
    float scaleWidth = ((float) displayWidth) / width;
    float scaleHeight = ((float) displayHeight) / height;

    // Create a matrix for the manipulation
    Matrix matrix = new Matrix();

    // Resize the bit map
    matrix.postScale(scaleWidth, scaleHeight);

    // Return the new stretched Bitmap
    return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false);
}
scroll top