Domanda

Sto scrivendo un app e voglio una delle mie attività per avere uno sfondo,

Ho letto la documentazione Android di sostenere risoluzioni multiple, ecc, ma il mio stilista mi chiede cosa dimensioni delle carte da parati dovrebbe essere e non voglio un sacco di immagini per bassa, normale, alta dpi in tutte le dimensioni dello schermo.

Quale sarebbe lo spazio modo più efficace per ottenere un bel schermo riempimento bassa grafica su tutti questi schermi?

Android è grande e tutti, ma io non voglio finire con un enorme app da quando ho bisogno di tutte le dimensioni di immagini per ogni cosa.

È stato utile?

Soluzione

Un approccio è quello di progettare per le densità e utilizzare le linee guida icona del design per le icone, e le dimensioni specificate nel " gamma di schermi " area nel href="http://developer.android.com/guide/practices/screens_support.html" rel="nofollow noreferrer"> non protagonista più schermi guida

Per le immagini di sfondo essere sicuri di prendere le dimensioni della barra di stato in considerazione.

Si può mettere le risorse nel appropriata drawable-MDPI, drawable-hdpi, cartelle drawable-ldpi e saranno utilizzati in modo appropriato.

Altri suggerimenti

Che dire di avere un solo alta risoluzione paesaggio di sfondo e l'utilizzo di una strategia di "stretch" per la visualizzazione?

    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