dimensioni della schermata iniziale di Android per i display ldpi, mdpi, hdpi, xhdpi? - ad esempio: 1024X768 pixel per ldpi


103

Devo progettare schermate iniziali (immagini che si adattano allo schermo durante il caricamento) per l'applicazione Android utilizzando phonegap. Devo progettare immagini di 4 dimensioni che si adattino a 4 tipi di schermi come ldpi, mdpi, hdpi, xhdpi. Qualcuno può dirmi le dimensioni esatte in pixel per questi schermi in modo da poter progettare in quella dimensione?

Risposta di esempio:

ldpi - 1024X768 px
mdpi  - 111 X 156 px  

 We support ldpi, mdpi, hdpi and xhdpi displays; the following will define splash screens for each specific screen type.

<gap:splash src="splash/android/ldpi.png" gap:platform="android" gap:density="ldpi" />
<gap:splash src="splash/android/mdpi.png" gap:platform="android" gap:density="mdpi" />
<gap:splash src="splash/android/hdpi.png" gap:platform="android" gap:density="hdpi" />
<gap:splash src="splash/android/xhdpi.png" gap:platform="android" gap:density="xhdpi" />

Risposte:


98

Può esserci un numero qualsiasi di dimensioni dello schermo diverse a causa del fatto che Android non ha dimensioni standard impostate, quindi come guida puoi utilizzare le dimensioni minime dello schermo, fornite da Google.

Secondo le statistiche di Google, la maggior parte dei display ldpi sono piccoli schermi e la maggior parte dei display mdpi, hdpi, xhdpi e xxhdpi sono schermi di dimensioni normali.

  • Gli schermi xlarge sono almeno 960dp x 720dp
  • schermi di grandi dimensioni sono almeno 640dp x 480dp
  • gli schermi normali sono almeno 470dp x 320dp
  • i piccoli schermi sono almeno 426 dpi x 320 dpi

Puoi visualizzare le statistiche sulle dimensioni relative dei dispositivi sulla dashboard di Google che è disponibile qui .

Ulteriori informazioni su più schermi sono disponibili qui .

9 Immagine patch

La soluzione migliore è creare un'immagine a nove patch in modo che il bordo dell'immagine possa allungarsi per adattarsi alle dimensioni dello schermo senza influire sull'area statica dell'immagine.

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch


Potresti includere anche xxhdpi? (se esiste)
Adonis K. Kakoulidis

Google definisce xxhdpi come ~ 480 DPI. Non forniscono una dimensione minima dello schermo per questo da quello che posso vedere.
Alex Wiese

8
Perché questo ha così tanti voti positivi? xlarge != xhdpi, stanno misurando due cose completamente diverse. Queste dimensioni dp sono elencate per i bucket di dimensioni, non per la densità.
Geobits

@geobits guarda la domanda. Chiede quale dimensione dovrebbe avere il suo splash screen per ogni densità che supporta. Poiché può esserci un numero qualsiasi di dimensioni diverse a causa del fatto che Android non ha una dimensione standard impostata, la risposta corretta più vicina che possiamo dare sono le dimensioni minime dello schermo, fornite da Google. Puoi leggere di più su questo se segui il link nella risposta.
Alex Wiese

2
Capisco cosa stai dicendo, ma non è quello che dice la tua risposta. Se lo avesse fatto, non avrei nemmeno commentato. Ha chiesto una lista delle taglie e tu dai semplicemente una lista basata su qualcos'altro senza spiegazioni. Dovresti modificarlo in, indipendentemente dal collegamento o meno ai documenti.
Geobits

135

Dimensioni dello schermo di avvio per Android

e allo stesso tempo per Cordova (aka Phonegap), React-Native e tutte le altre piattaforme di sviluppo

Format : 9-Patch PNG (recommended)

Dimensions

 - LDPI:
    - Portrait: 200x320px
    - Landscape: 320x200px
 - MDPI:
    - Portrait: 320x480px
    - Landscape: 480x320px
 - HDPI:
    - Portrait: 480x800px
    - Landscape: 800x480px
 - XHDPI:
    - Portrait: 720px1280px
    - Landscape: 1280x720px
 - XXHDPI
    - Portrait: 960x1600px
    - Landscape: 1600x960px
 - XXXHDPI 
    - Portrait: 1280x1920px
    - Landscape: 1920x1280px

Nota: la preparazione di XXXHDPI non è necessaria e forse anche la dimensione XXHDPI a causa delle aree ripetute delle immagini a 9 patch. D'altra parte, se vengono utilizzate solo le dimensioni Verticali, le dimensioni dell'app potrebbero essere inferiori. Più immagini significano che è necessario più spazio.

Fai attenzione

Penso che non ci sia una dimensione esatta per tutti i dispositivi. Io uso Xperia Z 5" . Se si sviluppa un'applicazione multipiattaforma-WebView si dovrebbe considerare un sacco di cose (se schermo ha pulsanti di navigazione softkey o no, ecc.) Pertanto, penso che ci sia solo una soluzione adeguata. La soluzione è a preparare una schermata iniziale di 9 patch (trova l' How to design a new splash screenintestazione sotto)

  1. Crea schermate iniziali per le dimensioni dello schermo sopra come 9 patch . Dai nomi ai tuoi file con suffissi .9.png
  2. Aggiungi le righe seguenti nel tuo file config.xml
  3. Aggiungi il plug-in della schermata iniziale, se necessario.
  4. Esegui il tuo progetto.

Questo è tutto!

Codice specifico di Cordova
Da aggiungere righe nel config.xml per schermate iniziali a 9 patch

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="6000" />
<platform name="android">
    <splash src="res/screen/android/ldpi.9.png" density="ldpi"/>
    <splash src="res/screen/android/mdpi.9.png" density="mdpi"/>
    <splash src="res/screen/android/hdpi.9.png" density="hdpi"/>
    <splash src="res/screen/android/xhdpi.9.png" density="xhdpi"/> 
</platform>

Da aggiungere righe nel file config.xml quando si utilizzano schermate iniziali non -9 patch

<platform name="android">
    <splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
    <splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
    <splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
    <splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>

    <splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
    <splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
    <splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
    <splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>
</platform>

Come progettare una nuova schermata iniziale

Descriverei un modo semplice per creare una schermata iniziale adeguata usando questo modo. Supponiamo che stiamo progettando uno schermo 1280dp x 720dp - xhdpi (x-large). Ho scritto a scopo di esempio quanto segue;

  • In Photoshop: File -> Nuovo in una nuova finestra di dialogo imposta i tuoi schermi

    Larghezza: 720 pixel Altezza: 1280 pixel

    Immagino che le dimensioni di cui sopra indicano che la risoluzione è di 320 pixel / pollice. Ma per assicurarti di poter modificare il valore di risoluzione su 320 nella finestra di dialogo. In questo caso Pixel / pollice = DPI

    Congratulazioni ... Hai un modello di schermata iniziale 720dp x 1280dp.

Come generare una schermata iniziale di 9 patch

Dopo aver progettato la schermata iniziale, se si desidera progettare la schermata iniziale 9-Patch, è necessario inserire uno spazio di 1 pixel per ogni lato. Per questo motivo dovresti aumentare di +2 pixel la larghezza e l'altezza delle dimensioni della tua tela (ora le dimensioni delle tue immagini sono 722 x 1282).

Ho lasciato lo spazio vuoto di 1 pixel su ogni lato come indicato di seguito.
Modifica delle dimensioni della tela utilizzando Photoshop:
- Apri un file png della schermata iniziale in Photoshop
- Fai clic sull'icona del lucchetto accanto al nome "Sfondo" nel campo Livelli (per lasciare vuoto invece di un altro colore come il bianco) se c'è come il sotto: - Cambia le dimensioni della tela dal menu Immagine (Larghezza: da 720 pixel a 722 pixel e Altezza: da 1280 pixel a 1282 pixel). Ora, dovrebbe vedere uno spazio di 1 pixel su ogni lato dell'immagine della schermata iniziale.
inserisci qui la descrizione dell'immagine


Quindi puoi usare C: \ Program Files (x86) \ Android \ android-studio \ sdk \ tools \ draw9patch.bat per convertire un file di 9 patch. Per questo apri la tua schermata iniziale sull'app draw9patch. Dovresti definire il tuo logo e le aree espandibili. Notare la linea nera nella seguente schermata iniziale di esempio. Lo spessore della linea nera è di appena 1 px;) Le linee nere sui lati sinistro e superiore definiscono l'area di visualizzazione obbligatoria della schermata iniziale. Esattamente come il tuo progetto. Le linee destra e inferiore definiscono l'area aggiungibile e rimovibile (aree che si ripetono automaticamente).

Fallo e basta: ingrandisci il bordo superiore dell'immagine sull'applicazione draw9patch. Fare clic e trascinare il mouse per tracciare una linea. E premi MAIUSC + clic e trascina il mouse per cancellare la linea.

Esempio di design a 9 patch

Se sviluppi un'app multipiattaforma (come Cordova / PhoneGap) puoi trovare al seguente indirizzo quasi tutte le dimensioni dello splash screen del sistema operativo mabile. Fare clic per le dimensioni della schermata iniziale di Windows Phone , WebOS , BlackBerry , Bada-WAC e Bada .

https://github.com/phonegap/phonegap/wiki/App-Splash-Screen-Sizes

E se hai bisogno delle dimensioni delle icone delle app IOS, Android ecc. Puoi visitare qui .

IOS

Format : PNG (recommended)

Dimensions

 - Tablet (iPad)
   - Non-Retina (1x)
     - Portrait: 768x1024px
     - Landscape: 1024x768px
   - Retina (2x)
     - Portrait: 1536x2048px
     - Landscape: 2048x1536px
 - Handheld (iPhone, iPod)
   - Non-Retina (1x)
     - Portrait: 320x480px
     - Landscape: 480x320px
   - Retina (2x)
     - Portrait: 640x960px
     - Landscape: 960x640px
 - iPhone 5 Retina (2x)
   - Portrait: 640x1136px
   - Landscape: 1136x640px
 - iPhone 6 (2x)
   - Portrait: 750x1334px
   - Landscape: 1334x750px
 - iPhone 6 Plus (3x)
   - Portrait: 1242x2208px
   - Landscape: 2208x1242px

105

Per dispositivi mobili Android

LDPI- icon-36x36, splash-426x320 (ora con valori corretti)


MDPI- icona-48x48, splash-470x320


HDPI- icona 72x72, splash- 640x480


XHDPI- icona-96x96, splash- 960x720


Icona XXHDPI- 144x144

Tutto in pixel.

Per dispositivi tablet Android

LDPI:
    Portrait: 200x320px
    Landscape: 320x200px
MDPI:
    Portrait: 320x480px
    Landscape: 480x320px
HDPI:
    Portrait: 480x800px
    Landscape: 800x480px
XHDPI:
    Portrait: 720px1280px
    Landscape: 1280x720px

@Geobits: entrambi sono in pixel. Questo è per risoluzioni diverse. Non vedo alcuna confusione lì. strano!!
Nijil Nair

1
Le dimensioni che dai per ldpi/mdpi/hdpi/xhdpicorrispondono small/normal/large/xlargein dp in base a questo . Inoltre, se sono dimensioni in pixel, dovrebbero essere della scala 0.75/1/1.5/2. Hai una fonte per queste dimensioni che non vedo?
Geobits

@NijilNair: come mai la risoluzione delle immagini su tablet è inferiore a quella sui telefoni cellulari ?! Non dovrebbe essere il contrario? Ad esempio, sono sorpreso da "Mobile phone ldpi: 426x320" e poi "Tablet ldpi: 320 x 200" ... non sembra affatto logico. Grazie per aver risposto!
Phalanx

@Phalanx: controlla questo link. developer.android.com/guide/practices/… .
Nijil Nair

1
Sei sicuro che l'icona LDPI non sia 36x36?
Vladius

32
  • LDPI: Verticale: 200 X 320 px. Orizzontale: 320 X 200 px.
  • MDPI: Verticale: 320 X 480 px. Orizzontale: 480 x 320 px.
  • HDPI: verticale: 480 x 800 px. Orizzontale: 800 X 480 px.
  • XHDPI: Ritratto: 720 X 1280 px. Orizzontale: 1280 X 720px.
  • XXHDPI: Verticale: 960 X 1600px. Orizzontale: 1600 X 960 px.
  • XXXHDPI: Verticale: 1280 X 1920px. Orizzontale: 1920 X 1280 px.

2
Ovunque leggo xhdpi è solo il doppio di mdpi, quindi secondo quel xhdpi dovrebbe essere 640 x 960, ma l'hai scritto 720x1280. Puoi spiegare come è 720x1280? Quale formula hai usato?
Rahul Sharma

10
  • Gli schermi Xlarge sono almeno 960dp x 720dp
  • Gli schermi grandi delle voci di elenco sono almeno 640dp x 480dp
  • Le schermate normali delle voci di elenco sono almeno 470dp x 320dp
  • Gli schermi piccoli delle voci di elenco sono almeno 426 dpi x 320 dpi

Usalo per creare le tue immagini e metterle in una cartella di risorse specifiche.



2

Gli schermi xlarge sono almeno 960dp x 720dp layout-xlarge tablet da 10 "(720x1280 mdpi, 800x1280 mdpi, ecc.)

gli schermi di grandi dimensioni sono almeno 640dp x 480dp tablet tweener come Streak (480x800 mdpi), tablet 7 "(600x1024 mdpi)

gli schermi normali sono almeno 470dp x 320dp con layout tipico dello schermo del telefono (480x800 hdpi)

schermi piccoli sono almeno 426dp x 320dp schermo tipico del telefono (240x320 ldpi, 320x480 mdpi, ecc.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.