Cuối cùng đã tạo ra một cấu trúc xử lý các bố cục và biểu tượng cho nhiều màn hình.
Android tổng hợp hiển thị thiết bị thành các danh mục dựa trên hai tham số:
- Kích thước màn hình, kích thước vật lý của màn hình (được đo theo đường chéo)
- Mật độ màn hình, mật độ điểm ảnh vật lý của màn hình (tính bằng pixel trên inch hoặc ppi)
Để nhanh chóng xác định kích thước và mật độ màn hình, vui lòng cài đặt ứng dụng " Kích thước của tôi " dành cho Android.
Kích thước màn hình
Android xác định bốn kích thước màn hình tổng quát:
Qualifier Size
small ~3 inches (approx)
normal ~4 inches (approx)
large Exceeds 4 inches
xlarge Exceeds 7 inches
- Hầu hết các điện thoại được phân loại là nhỏ hoặc bình thường (khoảng 3 đến 4 inch theo đường chéo). Nhưng hiện nay, có rất nhiều điện thoại có màn hình lớn như Galaxy S4, HTC One, Xperia Z
- Một máy tính bảng nhỏ như Samsung Galaxy Tab được phân loại là lớn (lớn hơn 4 inch)
- Cực lớn áp dụng cho các thiết bị lớn, ví dụ: máy tính bảng lớn
Android xác định bốn mật độ màn hình tổng quát:
Qualifier Description Nominal value
ldpi low density 120 ppi
mdpi medium density 160 ppi
hdpi high density 240 ppi
xhdpi extra high density 320 ppi
Điển hình:
- kích thước màn hình ảnh hưởng nhiều nhất đến bố cục ứng dụng của bạn
- mật độ màn hình ảnh hưởng nhiều nhất đến tài nguyên hình ảnh và đồ họa của bạn
Nó được liệt kê ở đây sự khác biệt phần trăm của màn hình thiết bị
- Ldpi- 75%
- Mdpi- 100% (cơ sở theo trang web nhà phát triển Android)
- Hdpi- 150%
- XHdpi- 200%
Nhưng như chúng ta biết bây giờ hầu hết các thiết bị đi kèm với 480X800, vì vậy tôi coi đây là thiết bị dựa trên, vì vậy phép tính mới của chúng tôi sẽ như thế này
- Ldpi- 50%
- Mdpi- 66,67%
- Hdpi- 100%
- XHdpi- 133,33%
có nghĩa là biểu tượng và thiết kế đầu tiên sẽ chỉ được tạo cho 480X800 và sau đó là các biểu tượng và thiết kế còn lại (tức là Ldpi, Mdpi, Xhdpi).
Có những hình ảnh chung cho tất cả các bố cục và phải đồng nhất về màu sắc và hình dạng (không có hình dạng phức tạp, không có đường cong) vì vậy đối với loại hình ảnh này, chúng tôi đang tạo hình ảnh sẽ 9patch
được đưa vào thư mục “có thể vẽ (không có hậu tố)”. Để tạo hình ảnh 9Patch, bạn có thể sử dụng DrawNinePatch hoặc BetterNinePatch
Bây giờ chỉ cần đổi tên hình ảnh của bạn dựa trên tiêu chuẩn của Android và hoàn thành ứng dụng của bạn hdpi
, sau đó chỉ cần lấy drawable-hdpi
thư mục và Mở Adode Photoshop (được khuyến nghị) tạo Hành động có nhiều kích thước (chỉ cần thay đổi kích thước theo tỷ lệ phần trăm) sau khi Hành động được tạo cho tất cả kích thước rồi chỉ cần thực hiện Tự động hóa hàng loạt và cung cấp nguồn (drawable-hdpi) và đích (drawable-ldpi, drawable-mdpi, drawable-xdpi).
Lý do tôi nhấn mạnh bạn sử dụng Photoshop vì nó sẽ tự động thay đổi kích thước hình ảnh của bạn bằng Actions và một điểm cộng nữa là bạn không cần phải đổi tên tệp (nó sẽ gán tên giống như tên gốc).
sau khi bạn hoàn thành việc tạo tất cả các hình ảnh, hãy làm mới dự án của bạn và kiểm tra nó.
Đôi khi có thể có khả năng bố cục hỗ trợ màn hình (xhdpi, hdpi, mdpi) có thể bị cắt trong màn hình nhỏ (ldpi), vì vậy để xử lý điều này, chỉ cần tạo thư mục Bố cục riêng biệt (bố cục nhỏ) cho nó và thêm ScrollView
(chủ yếu). Đó là nó.
Máy tính
bảng Máy tính bảng được phân loại thành hai kích thước.
- 7 "(1024X (600-48 (thanh điều hướng))) = 1024X552 (có thể kéo được-lớn)
- 10 "(1280X (800-48 (thanh điều hướng))) = 1280X752 (drawable-xlarge)
Trong điều này, chúng ta cần tạo hình ảnh cho cả màn hình và chỉ cần đặt chúng cho phù hợp
Vì vậy, tất cả chúng ta sẽ có thư mục này trong ứng dụng của mình để hỗ trợ nhiều màn hình.
drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-large
drawable-xlarge
sẽ là sự kết hợp nhiều vòng loại hơn với Screen size and Screen density
drawable-large-ldpi
drawable-large-mdpi
drawable-large-hdpi
drawable-large-xhdpi
vòng loại hơn với Screen density and Version
drawable-ldpi-v11
drawable-mdpi-v11
drawable-hdpi-v11
drawable-xhdpi-v11
và nhiều vòng loại hơn với Screen size and Version
drawable-large-v11
drawable-xlarge-v11
và nhiều vòng loại hơn với Smallest width concept(SW)
drawable-sw???dp
Hơn nữa trong Android V3.0 Honeycomb, họ đã giới thiệu khái niệm mới về SW(smallest width)
thiết bị được phân loại theo chiều rộng màn hình, vì vậy nếu chúng tôi đang tạo một thư mục có têndrawable-sw360dp
thì thiết bị có 720dp (chiều rộng hoặc chiều cao) sẽ sử dụng tài nguyên từ thư mục này.
ví dụ để tìm hậu tố Samsung Galaxy S3
dp thành drawable-sw? dp
với tham chiếu của DP Tính toán , Nếu bạn muốn hỗ trợ bố cục của mình hoặc có thể vẽ cho S3 thì phép tính cho biết
px = Chiều rộng của thiết bị = 720
dpi = Mật độ của thiết bị = 320
công thức đưa ra
px = dp * (dpi / 160)
hoán đổi công thức vì chúng ta có giá trị của px
dp = px / (dpi / 160)
bây giờ đặt giá trị,
dp= 720 / (320/160);
dp=360.
vì thế drawable-sw360dp
sẽ làm công việc
Giúp bạn cấu hình thiết bị từ GsmArena
bạn cũng có thể tạo thư mục theo phiên bản API Android của thiết bị tức là drawable-hdpi-v11` vì vậy thiết bị có API11 và là Hdpi thì nó sẽ sử dụng tài nguyên này.
Mẹo bổ sung:
Sử dụng bố cục tương đối, dp, sp và mm
đơn vị dp - pixel độc lập của thiết bị được chuẩn hóa thành 1 pixel vật lý trên màn hình 160 ppi tức là mật độ trung bình. Được mở rộng trong thời gian chạy. Sử dụng cho kích thước phần tử màn hình
đơn vị sp - pixel được chia tỷ lệ, được chỉ định dưới dạng giá trị dấu chấm động, dựa trên đơn vị dp nhưng được chia tỷ lệ bổ sung cho cài đặt tùy chọn kích thước phông chữ của người dùng. Được mở rộng trong thời gian chạy. Sử dụng cho các kích thước phông chữ
bạn nên luôn sử dụng RelativeLayout cho các bố cục; AbsoluteLayout không được dùng nữa và không nên sử dụng.
Sử dụng các định dạng hình ảnh thích hợp - PNG so với JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
Tuy nhiên, PNG và JPEG không phải là tương đương. Chúng có sự đánh đổi chất lượng khác nhau và PNG không phải lúc nào cũng tốt nhất:
JPEG có thể giảm tới 50% kích thước tệp so với PNG, điều này rất quan trọng nếu ứng dụng của bạn có nhiều hình ảnh
JPEG "mất dữ liệu" chất lượng cao hơn có thể trông đẹp hơn PNG "không mất dữ liệu" được nén cao, cho cùng kích thước tệp
Thêm nhãn vào hình ảnh và đồ họa của bạn để gỡ lỗi
Sử dụng phần tử màn hình hỗ trợ
Định cấu hình trình giả lập của bạn với các giá trị thiết bị thực
Thông thường, các hệ thống máy tính để bàn hiển thị ở 72ppi (Mac) hoặc 96ppi (Windows, Linux). So với di động, màn hình máy tính để bàn luôn có mật độ thấp.
Luôn định cấu hình trình giả lập Android của bạn để bắt chước các giá trị thiết bị thực và luôn đặt chúng theo tỷ lệ để mô phỏng mật độ thiết bị.
Trong Eclipse, thật dễ dàng để tạo nhiều trình giả lập (từ thanh menu Eclipse, chọn Window> AVD Manager> New ) được định cấu hình với các giá trị cho thiết bị thực:
Đặt tên trình giả lập cho thiết bị thực mà nó đang mô phỏng Chỉ định độ phân giải, không sử dụng Kích thước chung được tích hợp sẵn Đặt mật độ thiết bị để khớp với thiết bị thực (trong ngăn Phần cứng đặt Thuộc tính LCD trừu tượng thành mật độ thực, luôn là giá trị số nguyên)
Khi bạn khởi chạy thiết bị, luôn chọn Tỷ lệ hiển thị thành kích thước thực và nhập kích thước màn hình thực bằng inch.
Nếu bạn không đặt mật độ thiết bị, trình giả lập sẽ mặc định ở mật độ thấp và luôn tải các tài nguyên dành riêng cho ldpi. Độ phân giải (kích thước pixel) sẽ chính xác, nhưng tài nguyên hình ảnh phụ thuộc vào mật độ của bạn sẽ không hiển thị như dự kiến.
Tất nhiên, không có gì bạn làm sẽ tái tạo chất lượng hình ảnh mật độ cao hơn trên màn hình máy tính để bàn có mật độ thấp hơn.
Đây là Dữ liệu được thu thập trong khoảng thời gian 7 ngày kết thúc vào ngày 1 tháng 10 năm 2012. Để xem thống kê mới nhất về phiên bản nền tảng Android, hãy truy cập vào đây
Dựa trên kích thước màn hình
Dựa trên mật độ màn hình