10

Tôi hơi bối rối về cách xác định loại điện thoại nào hỗ trợ loại bố cục nào. Tôi đã thực hiện một số nghiên cứu nhưng chưa tìm thấy câu trả lời thỏa mãn.cách biết hỗ trợ điện thoại nào bố trí (hdpi, mdpi và xhpi)?

Ví dụ, tôi đã tìm thấy các hướng dẫn dưới đây:

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 

Tuy nhiên, tôi vẫn có một số lo ngại:

  1. Samsung lớn (480 * 800)HTC hoang dã lửa S (320 * 480) cả hỗ trợ MDPI. Các màn hình này có độ phân giải rất khác nhau, nhưng có cùng loại bố cục?

  2. Galaxy note 2 (1280 * 720) hỗ trợ HDPI. Nếu HD (720p) chỉ là HDPI, khi thiết bị/độ phân giải nào hỗ trợ XHDPI?

  3. Tôi đã hỏi một câu hỏi có liên quan ở đây: How to set layout on 7" two different tablet?.

  4. Câu hỏi quan trọng nhất của tôi là: Làm cách nào để biết thiết bị hoặc độ phân giải màn hình nào hỗ trợ từng loại bố cục?

+0

Tại sao bạn cần biết tên kiểu thiết bị? – ozbek

+0

Bạn không nên lo lắng về tất cả kích thước màn hình thiết bị. Chỉ cần tạo các bố trí khác nhau (bình thường, hdpi, xhdpi) và mọi thiết bị sẽ chạy bố cục theo dpi của nó. BTW ... Galaxy Note 2 có màn hình 267 dpi. Vì vậy, nó sẽ sử dụng bố trí xhdpi. –

+0

i m hỏi câu hỏi này bcz im bằng cách sử dụng webview, trong đó tôi có thể hiển thị cho bạn video ống để hiển thị gui khác nhau của nó trên tất cả các thiết bị. – duggu

Trả lời

12

Android xử lý mdpi (160 pixel/inch) như mật độ cơ sở. Vì vậy, đối với các thiết bị mdpi, 1 dp = 1 pixel. Ở mật độ cao hơn, có nhiều pixel hơn mỗi inch (240 cho hdpi, 320 cho xhdpi).

tự động Scaling bởi Android bản thân:

nỗ lực Android để làm cho hình ảnh đồ họa chiếm kích thước vật lý tương tự trên màn hình không phụ thuộc vào mật độ thiết bị pixel. Vì vậy, nếu tất cả nó tìm thấy là một tài nguyên mdpi, và thiết bị là hdpi, nó sẽ mở rộng đồ họa 240/160 = 150%, và nó sẽ tăng gấp đôi kích thước của đồ họa cho xhdpi.

Sử dụng các phiên bản khác nhau của đồ họa:

Nếu bạn không muốn mở rộng quy mô tự động này (mà có thể làm cho đồ họa nhìn kém), bạn chỉ có thể cung cấp phiên bản của riêng bạn tài nguyên đồ họa cho việc sử dụng tại cao mật độ. Những đồ họa này phải có cùng kích thước mà Android sẽ mở rộng tài nguyên mdpi.

Lưu ý: pixel/inch được lưu trữ trong tệp hình ảnh không liên quan gì đến điều này. Tất cả đều dựa trên nơi bạn đặt các tệp đồ họa trong thư mục tài nguyên cho dự án của bạn. Bất kỳ đồ họa nào được đặt trong res/drawable được giả định là có kích thước phù hợp cho màn hình mdpi, cũng như đồ họa được đặt trong res/drawable-mdpi. Tệp hình ảnh tìm thấy trong res/drawable-hdpi được giả định là có kích thước phù hợp cho các màn hình hdpi, v.v.Khi chương trình của bạn chạy trên một thiết bị cụ thể, trước tiên Android sẽ tìm kiếm một đồ họa khớp với mật độ hiển thị của thiết bị đó. Nếu nó không tìm thấy một nhưng thay vì tìm thấy một cho một mật độ khác nhau, nó sẽ sử dụng và tự động mở rộng quy mô hình ảnh dựa trên các quy tắc trên.

Khi ldpi, mdpi và hdpi tham khảo mật độ màn hình, mà nghĩa là bao nhiêu pixel có thể phù hợp với một inch đơn.

tỷ lệ bằng pixel giữa chúng là:

ldpi = 1:0.75 
mdpi = 1:1 
hdpi = 1:1.5 
xhdpi = 1:2 
xxhdpi = 1:3 

để cho phép đưa một hình ảnh với khoảng kích thước của 100x100:

for mdpi it should be 100X100 
for ldpi it should be 75X75 
for hdpi it should be 150X150 
for xhdpi it should be 200X200 
for xxhdpi it should be 300X300 

cách này, cho màn hình với cùng kích thước nhưng khác nhau DPI, tất cả các hình ảnh có vẻ như cùng kích thước trên màn hình.

0

nhìn vào những chi tiết này: android quản lý tất cả điều này bằng cách riêng của mình, bạn chỉ cần cung cấp bố trí và hình ảnh trong các thư mục tương

res/layout/my_layout.xml    // layout for normal screen size ("default") 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-xlarge/my_layout.xml  // layout for extra large screen size 
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation 

res/drawable-mdpi/my_icon.png  // bitmap for medium density 
res/drawable-hdpi/my_icon.png  // bitmap for high density 
res/drawable-xhdpi/my_icon.png  // bitmap for extra high density 
Các vấn đề liên quan