2012-08-31 10 views
17

ich mehrere values Ordner in meinem res Ordner gefunden:android Bildschirmgröße, Werte-v11, Werte-v14

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/ ??? 

Habe ich Recht? Oder muss ich einen anderen Ordner namens values-xlarge, values-normal erstellen?

Antwort

49

values-v11 ist der Wert der API-Version 11 und values-v14 ist der Wert der API-Version 14.

Es ist angibt wert, dass dh values-v11 für API 11 und höher verwendet werden, es wäre denn, ein anderer Ordner da ist das hat eine höhere Version. Wenn Sie zum Beispiel bekommen values-v11 und values-v14 Ordner, dann values-v11 und auf APIs 11 verwendet werden, 12, 13, aber auf API 14 und höher, den Gehalt an values-v14 wird

+3

Und wenn ich "Werte", "Werte-v11" und "Werte-v16" hätte, und wenn ich alle außer "Werte" löschen würde, würde dies zu einem Fehler führen, oder würden alle API-Versionen dasselbe nehmen Stile Ordner? –

+3

In diesem Fall nehmen alle API-Versionen das Verzeichnis "values". – userM1433372

+7

Dies ist nicht absolut korrekt. Es sollte Werte sein - v11 ist Werte für> = API Version 11, bis eine nächste definierte Version. In diesem Beispiel stimmt v11 mit API 11-15 und Werten mit v16 überein.> = API 16 – Uipko

8

Nein, diese "Gleichung" ist nicht korrekt:

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

xlarge Bildschirmgröße definiert, während v14 bestimmt API-Version (Ice Cream Sandwitch (so werden diese Werte auf dem Gerät mit Display passend zu xlarge Anforderungen verwendet werden) - see here). Es ist nicht garantiert (oder sogar angenommen), dass alle xlarge Geräte v14 API laufen müssen oder dass jedes ICS Gerät xlarge Bildschirm hat.

+3

Fall in Punkt: Galaxy S II ist ein "großer" Bildschirm und kann "v9", "v10", "v14" oder "v15" haben. – Eric

+1

Im Allgemeinen, wenn Sie benutzerdefinierte Firmware, API-Version einfügen können, kann es alles sein, was Sie verwenden können, aber Sie können Hardware-Spezifikationen nicht so einfach ändern. –

3

v11 in Werte-v11 verwendet werden sind ein Qualifikationsspiel für Android SDK-Version v11.

Weitere Informationen dazu, wie Android Ressourcen für verschiedene SDK-Versionen, Bildschirm, Sprachen oder andere Gerätekonfigurationen unterstützt, finden Sie unter http://developer.android.com/guide/topics/resources/providing-resources.html.

http://developer.android.com/guide/practices/screens_support.html enthält eine ausführlichere Erläuterung zur Unterstützung mehrerer Bildschirmabmessungen.

+0

Wie kann ich Werte für Pre-ICS und Werte für ICS + definieren? Muss ich jede Plattform unabhängig angeben? oder Werte-v10 funktioniert von GB Onwars? –

+1

Legen Sie alle Ihre Pre-ICS-Ressourcen in das Verzeichnis "values" und legen Sie alle ICS + -Ressourcen in das Verzeichnis "values-v14". v1-v13 wird dem Verzeichnis "values" zugeordnet und v14 + wird dem Verzeichnis "vars-v14" zugeordnet. Sie können das Versionsqualifikationsmerkmal in allen Ressourcenverzeichnissen verwenden. Layout-v14 enthält also alle v14 + Layout-Dateien. – userM1433372

+0

Ich sollte dies in einer Independent Frage gestellt haben, damit Sie als gültige Antwort ankreuzen können !!!! –