2012-08-31 14 views
17

ho trovato diversi values cartelle nella mia cartella res:dimensioni dello schermo di Android, i valori-V11, V14 valori-

xlarge screens are at least 960dp x 720dp 
large screens are at least 640dp x 480dp 
normal screens are at least 470dp x 320dp 
small screens are at least 426dp x 320dp 
res/values-normal/ == res/values-v11/ ??? 
res/values-xlarge/ == res/values-v14/ ??? 

ho ragione? O devo creare un'altra cartella denominata values-xlarge, values-normal?

risposta

49

values-v11 è i valori della versione API 11, e values-v14 è i valori della versione API 14.

Vale la pena indicare che cioè values-v11 saranno utilizzati per API 11 e superiore, se non c'è un'altra cartella che ha una versione più alta. Per esempio, se si ha values-v11 e values-v14 cartelle, quindi values-v11 e verrà utilizzato sulle API 11, 12, 13, ma su API 14 e superiore, il contenuto di values-v14 verrà utilizzato

+3

E se dovessi avere 'values',' values-v11' e 'values-v16', e se dovessi cancellare tutti tranne' values', si tradurrebbe in un errore, o tutte le versioni API prenderebbero lo stesso cartella degli stili? –

+3

In tal caso, tutte le versioni API prenderanno la directory 'values'. – userM1433372

+7

Questo non è completamente preciso. Dovrebbe essere valori-v11 è valori per> = API versione 11, fino alla prossima versione definita. In questo esempio valori-v11 corrisponderà all'API 11-15 e valori-v16 corrispondenza wil> = API 16 – Uipko

8

No, questa "equazione" non è corretto:

res/values-normal/ == res/values-v11/ ??? 
res/values-xlarge/ == res/values-v14/ ??? 

xlarge definisce dimensioni dello schermo (quindi questi valori vengono utilizzati su dispositivi con display corrispondenza xlarge requisiti) mentre v14 determina versione API (Ice Cream Sandwitch - see here). Non è garantito (o nemmeno ipotizzato) che tutti i dispositivi xlarge debbano essere in esecuzione API v14 o che ogni dispositivo ICS disponga dello schermo xlarge.

+3

Caso in questione: Galaxy S II è uno schermo 'grande' e può avere' v9', 'v10',' v14' o 'v15'. – Eric

+1

In generale, se è possibile installare un firmware personalizzato, la versione API può essere qualsiasi cosa sia possibile utilizzare, tuttavia non è possibile modificare facilmente le specifiche hardware. –

3

v11 nei valori-V11 è un qualificatore per Android versione sdk v11.

Date un'occhiata a http://developer.android.com/guide/topics/resources/providing-resources.html per una descrizione dettagliata su come Android supporta le risorse per le diverse versioni SDK, schermo, lingue o altre configurazioni del dispositivo.

http://developer.android.com/guide/practices/screens_support.html contiene una spiegazione più dettagliata sul supporto di più dimensioni dello schermo.

+0

Come posso definire i valori per pre-ICS e valori per ICS + ??? Devo specificare ogni piattaforma in modo indipendente? o valori-v10 funzionerà da GB onwars? –

+1

Inserisci tutte le tue risorse pre-ICS nella directory 'values' e inserisci tutte le tue risorse ICS + nella directory 'values-v14'. v1-v13 si associerà alla directory 'values' e v14 + eseguirà il mapping alla directory 'values-v14'. È possibile utilizzare il qualificatore di versione in tutte le directory di risorse. Quindi layout-v14 conterrà tutti i file di layout v14 +. – userM1433372

+0

Dovrei chiedere questo a una domanda indipendente, in modo da poter contrassegnare come risposta valida !!!! –

Problemi correlati