2010-01-06 3 views
11

Quali sono le dimensioni predefinite dello sfondo/sfondo Home per le varie configurazioni dello schermo Android (schermi piccoli, normali e di grandi dimensioni con bassa, media e alta densità)?Dimensioni sfondo/sfondo Android

Sono supportati file PNG a 9 patch per lo sfondo? Dovrei usare questi invece?

Ho trovato un metodo in livello API 5 che fornisce la dimensione minima dello sfondo, ma vorrei supportare anche le versioni precedenti di Android.

Grazie!

risposta

27

Uno sfondo è due volte più largo del dispositivo tenuto in modalità verticale. Così 960x800 su un Nexus One, 960x854 su un Droid, 640x480 su un G1/Magia/Eroe, ecc

+0

Grazie Romain! È bello vedere gli sviluppatori Android di Google qui. – hpique

+2

È ancora valido per le nuove interfacce utente? – ina

+2

Questo vale anche per l'interfaccia utente del tablet? –

3

This article on the Android Developers' site mostra l'intervallo di risoluzioni dello schermo per ciascuna densità.

Credo che gli sfondi debbano corrispondere alla risoluzione dello schermo e non siano allungati. Puoi vedere questo se, ad esempio, crei un nuovo emulatore con una densità di schermo elevata come 480x854. Lo sfondo della schermata iniziale di default è centrato, con grandi bande nere nella parte superiore e inferiore.

Il WallpaperManager API indica che è necessario utilizzare un'immagine PNG- o JPEG formato, anche se si utilizza il metodo setResource() — la risorsa deve essere unBitmap e quindi non un bambino di nove patch o altro tipo di Drawable.

+1

Grazie per la risposta rapida. Tuttavia, almeno gli sfondi forniti con il dispositivo sono più grandi della risoluzione dello schermo. Ciò consente allo sfondo di muoversi quando si fa scorrere verso sinistra o destra sulla schermata iniziale e cambiare la pagina. Credo che l'altezza corrisponda alla risoluzione dello schermo, ma non alla larghezza, che è uguale o superiore alla dimensione più grande, poiché lo sfondo si sposta sia in modalità verticale che orizzontale. – hpique

+0

Oops, giustamente .. Stavo per dire che è necessario avere uno sfondo con almeno la dimensione più grande al quadrato. Ho un HTC Hero che non funziona in orizzontale sulla schermata iniziale, quindi non ho davvero studiato come viene gestito il problema di swipe/width. –

0

Non indovinare, chiedere al WallpaperManager:

manager = WallpaperManager.getInstance(this); 
    width = manager.getDesiredMinimumWidth(); 
    height = manager.getDesiredMinimumHeight();