2012-08-31 21 views
17

Tôi tìm thấy một số values thư mục trong thư mục res tôi:kích thước màn hình android, giá trị-v11, giá trị-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/ ??? 

Tôi có phải không? Hoặc tôi có cần phải tạo một thư mục khác có tên là values-xlarge, values-normal không?

Trả lời

49

values-v11 là giá trị của các phiên bản API 11, và values-v14 là giá trị của các phiên bản API 14.

Đó là giá trị chỉ ra rằng ví dụ values-v11 sẽ được sử dụng cho API 11 cao hơn, trừ khi có một thư mục khác có phiên bản cao hơn. Ví dụ, nếu bạn có values-v11values-v14 thư mục, sau đó values-v11 và sẽ được sử dụng trên các API 11, 12, 13 nhưng trên API 14 và cao hơn, nội dung của values-v14 sẽ được sử dụng

+3

Và nếu tôi có 'giá trị',' giá trị-v11' và 'giá trị-v16', và nếu tôi xóa tất cả trừ' giá trị', nó sẽ dẫn đến lỗi hay tất cả các phiên bản API sẽ giống nhau phong cách thư mục? –

+3

Trong trường hợp đó, tất cả các phiên bản API sẽ lấy thư mục 'values'. – userM1433372

+7

Điều này không hoàn toàn chính xác. Nó phải là giá trị-v11 là giá trị cho> = API phiên bản 11, cho đến phiên bản được xác định tiếp theo. Trong ví dụ này, giá trị-v11 sẽ khớp với API 11-15 và giá trị-v16 wil match> = API 16 – Uipko

8

Không, đây "phương trình" là không đúng:

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

xlarge xác định kích thước màn hình (do đó, những giá trị này sẽ được sử dụng trên thiết bị với màn hình phù hợp với xlarge yêu cầu) trong khi v14 xác định phiên bản API (Ice Cream Sandwitch - see here). Nó không được đảm bảo (hoặc thậm chí giả định) rằng mọi thiết bị xlarge phải chạy API v14 hoặc mọi thiết bị ICS đều có màn hình xlarge.

+3

Trường hợp tại điểm: Galaxy S II là màn hình 'lớn 'và có thể có' v9', 'v10',' v14' hoặc 'v15'. – Eric

+1

Nói chung nếu bạn có thể trồng phần mềm tùy chỉnh, phiên bản API nó có thể là bất cứ điều gì bạn có thể sử dụng, tuy nhiên bạn không thể thay đổi thông số kỹ thuật phần cứng một cách dễ dàng. –

3

v11 trong các giá trị-v11 là một vòng loại dành cho Android phiên bản sdk v11.

Hãy xem http://developer.android.com/guide/topics/resources/providing-resources.html để biết mô tả chi tiết về cách Android hỗ trợ tài nguyên cho các phiên bản sdk, màn hình, ngôn ngữ hoặc cấu hình thiết bị khác nhau.

http://developer.android.com/guide/practices/screens_support.html chứa giải thích chi tiết hơn về việc hỗ trợ nhiều thứ nguyên màn hình.

+0

Làm cách nào để tôi có thể xác định giá trị cho trước ICS và các giá trị cho ICS + ??? Tôi có phải chỉ định từng nền tảng một cách độc lập không? hoặc giá trị-v10 sẽ hoạt động từ GB onwars? –

+1

Đặt tất cả tài nguyên trước ICS của bạn vào thư mục 'giá trị' và đặt tất cả tài nguyên ICS + của bạn vào thư mục 'values-v14'. v1-v13 sẽ ánh xạ tới thư mục 'values' và v14 + sẽ ánh xạ tới thư mục 'values-v14'. Bạn có thể sử dụng trình độ phiên bản trong tất cả các thư mục tài nguyên. Vì vậy, layout-v14 sẽ chứa tất cả các tệp bố cục v14 +. – userM1433372

+0

Tôi nên hỏi điều này trên một câu hỏi độc lập, vì vậy bạn có thể đánh dấu bạn là câu trả lời hợp lệ !!!! –

Các vấn đề liên quan