Domanda

Ho un'idea approssimativa di cosa siano ciascuna di queste directory, ma non sono davvero chiaro sul concetto e ho alcune domande specifiche.

Ad esempio, quali sono i DPI target per ogni directory? Quando si crea una risorsa, dovrebbe essere a quel DPI target o dovrebbe essere al DPI più normale dello schermo 72DPI? Se stai prendendo di mira più dispositivi, è sempre appropriato mettere un PNG in Drawable o dovresti sempre avere più versioni leggermente su misura per gli schermi specifici?

Grazie.

È stato utile?

Soluzione

Come hanno suggerito gli altri, la documentazione online Android ha grandi articoli su questo. Tuttavia, proverò a elencare qui alcuni suggerimenti rapidi e utili:

  1. Considera MDPI è 1. Quindi, LDPI è 0.75 e HDPI è 1.5. Ciò significa che se hai un disegno è, dire, 50x50 Su uno schermo MDPI dovrà essere ~37x37 su uno schermo LDPI e 75x75 Su uno schermo HDPI, per apparire all'incirca alla stessa dimensione fisica su ogni schermo (cioè 2 cm se metti un righello sullo schermo). Inoltre, lo schermo del tuo computer è molto probabilmente MDPI, motivo per cui si consiglia di iniziare con i dragabili MDPI e quindi ridimensionarli: il dimensione fisica Del Drawable sarà molto vicino tra lo schermo del computer e un dispositivo Android MDPI. Se visualizzi un HDPI disegnato sul tuo computer e su un dispositivo HDPI noterai che è tanto più grande (di nuovo, fisicamente - Metti un righello sullo stile) sullo schermo del PC.
  2. Se non si forniscono dragabili speciali per ciascuna densità, Android ridimensionerà automaticamente quello più vicino disponibile.
  3. Non dovresti considerare che il DPI di un dispositivo abbia qualcosa a che fare con le dimensioni dello schermo e/o il numero di pixel e/o risoluzione e/o proporzioni. Un dispositivo potrebbe essere molto piccolo e avere uno schermo HDPI o molto grande e avere uno schermo LDPI. Il punto centrale di questa differenziazione di densità è avere le cose Guarda le stesse dimensioni su tutti i dispositivi, non Montare lo stesso su tutti i dispositivi. Ad esempio, se un disegnatore riempie l'intero schermo su un dispositivo MDPI non si aspetta che faccia lo stesso su un altro dispositivo MDPI. Inoltre, non aspettarti di "vedere la stessa cosa" su diversi dispositivi DPI. La maggior parte dei dispositivi HDPI ha effettivamente Di più spazio rispetto ai dispositivi DPI inferiori. Ad esempio, se a ListView può mostrare 5 elementi su un dispositivo MDPI potrebbe essere in grado di mostrare 6 elementi su un dispositivo HDPI, nonostante il fatto che il ListView Gli elementi hanno la stessa densità indipendente (cioè 1,5 volte più grande su HDPI rispetto all'altezza di MDPI).

Avrei potuto andare un po 'fuori campo, ma queste sono cose che ho imparato in tempo sbattendo la testa contro di loro. Sto solo cercando di salvare il mal di testa di qualcun altro :)

Altri suggerimenti

Scusa ma Android ha un ottimo documento online con esempi, quindi per questo tipo di domanda la risposta è:

http://developer.android.com/guide/practices/screens_support.html

Non ci sono valori DPI esatti per ogni cartella. Ogni cartella è correlata a qualche gamma. Vedere qui: http://developer.android.com/guide/practices/screens_support.html

Queste directory devono contenere risorse disegnabili ottimizzate per una certa densità dello schermo. Puoi contenere solo un disegno per HDPI o qualsiasi altro, ma sui dispositivi con altre impostazioni DPI verranno in qualche modo ridimensionate e ci vorrà tempo/risorse. Anche un'immagine DPI bassa sembrerà scarsa sui dispositivi con HDPI.

A causa delle diverse dimensioni dello schermo e delle risoluzioni, Android ti consente di disporre le immagini disegnabili in base alle cartelle. Le immagini per display DPI elevati devono essere inserite in HDPI e allo stesso modo MDPI e LDPI. La cartella predefinita per i Draibles è Drawable se il sistema operativo non corrisponde a nessuna categoria DPI o le risorse non si trova in directory DPI speciali Il sistema raccoglie la risorsa dalla directory dei drawables.

Le dimensioni non sono esatte ma fino a 130 dpi sono considerate piccole, da 130 a 180 può essere considerata MDPI, da 180 a 200 può essere considerato come HDPI e più alto è classificato come XDPI.

http://developer.android.com/guide/practices/screens_support.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top