Hiểu về 1-1 vị xác minh độ dài khi trình bày layout, khi vẽ canvas trong Android, thay đổi qua lại giữa những đơn vị px, dp, pt ... Xác minh thông tin màn hình hiển thị hiện thị như tỷ lệ điểm ảnh, chiều cao, chiều rộng

Kích thước màn hình

Màn hình hiện đại dù hình ảnh rất mịn mạng, nhưng thực tế được tạo ra từ hàng chục ngàn những điểm rất nhỏ, mỗi điểm nhỏ dại đóđược điện thoại tư vấn gọi là điểm ảnh pixel cam kết hiệu là px, chúng sắp xếp tạo ra một lưới những điểm ảnh.Bạn sẽ xem: 1 point bởi bao nhiêu cm


*

Các pixel được trí từ trái qua phải là X, từ trên xuống dưới là trục Y (khoảng bí quyết 2 pixel theo trục X cùng Y có thể bằng nhau, hoàn toàn có thể khác nhau). Ví dụmột màn hình hiển thị 320 x 480 (width x height) thì tất cả 320 pixel theo trục X cùng 480 pixel theo trục Y.

Bạn đang xem: 1 point bằng bao nhiêu cm


*

Khái niệm về size màn hình

Kích thước màn hình mà mọi bạn vẫn quen thuộc sử dụng đối với smartphone, laptop, Tivi kia là đơn vị inch (1 inch = 2.54 cm = 25.4 mm) (màn hình máy tính xách tay 17 inch chẳng hạn).Đây là form size đo bằng đường chéotừ góc trên phía trái tới góc bên dưới bên yêu cầu màn hình. Trường hợp biết chiều rộng, chiều cao màn hình hiển thị thì rất có thể tính toán ra kích thước màn hình theo định nghĩa trên. Như lấy một ví dụ sau, màn hình kích cỡ 3.2 inch


*

Mật độ điểm hình ảnh PPI với DPI

PPI Pixels Per Inch - mật độ điểm ảnh có nghĩa là con số pixel bên trên một Inch. Như vậy màn hình hiển thị nào có tỷ lệ điểm hình ảnh lớn đang cho ảnh sắc nét hơn, chính vì thế đây là thông số kỹ thuật quan tâm lúc mua một thứ mới.


*

Để kích thước ảnh hiện thị một cách tự do với PPI (kích thước ảnh giống nhau trên các màn hình hiển thị có PPI khác nhau), khi vẽ ảnh, thiết kế tài nguyên Android rất có thể dùng tới đơn vị chức năng phái sinh tự DPI là . Đơn vị dp (Density Independent Pixel) được xem dựa theo màn hình hiển thị gốc thuở đầu làm chuẩn. Android phần chia ra các loại màn hình hiển thị theo DPI

MDPI - màn hình hiển thị có độ phân giải trung bình - là screen làm chuẩn: 1dp = 1px (có khoảng tầm 160dp trong 1 in, mật độ density = 1) LPDI - màn hình có độ phân giải thấp: 1dp = 0,75px, (density = 0,75) HDPI - màn hình có độ phân giải cao: 1dp = 1,5px, (density = 1,5) XHDPI - screen có độ sắc nét siêu cao: 1dp = 2px, (density = 2) XXDPI - màn hình có độ phân giải siêu khôn cùng cao: 1dp = 3pixel, (density = 3) XXDPI - màn hình có độ phân giải siêu rất siêu cao: 1dp = 4pixel, (density = 4)

Các đối chọi vị xác định kích thước, khoảng cách màn hình trong lập trình game android / IOS

Có nhì nhóm đối kháng vị, trước tiên là các đơn vị tự do mật độ và những đơn vị nhờ vào vào tỷ lệ điểm hình ảnh trên màn hình.

Xem thêm: Các Câu Lệnh Command Block Trong Minecraft, Tổng Hợp Cheat Code Offline Minecraft

Đơn vị phụ thuộc vào PPI, tất cả nghĩa nó loại đơn vị chức năng tương đối, size theo đơn vị này khi biểu thị thật bên trên các screen có mật độ điểm hình ảnh khác nhau là không giống nhau, kia là đơn vị px px - một px thực tế trên screen (Khi chúng ta vẽ ảnh 100px thì kích cỡ thật (theo mm, centimet ...) biểu lộ trên màn hình là khác nhau cho các màn hình có mật độ điểm hình ảnh khác nhau) Đơn vị chủ quyền với PPI có nghĩa là nó biểu thị đúng size vật lý, dù đó là screen nào. Đó là những đơn in, mm, pt, dp, sp in - (1 in = 2.54cm)- size vật lý thật trên mọi màn hình hiển thị mm - kích thước vật lý 1mm, như thể nhau mang đến mọi screen pt - điểm (point), đây là đơn vị thông dụng dùng biểu diễn size font chữ (72pt = 1inch = 25.4mm) giỏi 1pt = (1/72)in dp - (hoặc ký hiệu dip) mặc dù xếp vào loại đối kháng vị chủ quyền với PPI, dẫu vậy một dp trên các màn hình không giống nhau có một chút ít sai số nhỏ dại (chỉ giao động bằng nhau trên các loại screen khác nhau). 1 in ≃ 160 dp sp - (scale independent pixel), được sử dụng chủ yếu đến cỡ chữ, nó khá tương đương với sp nhằm mục đích chữ tất cả cỡ tương tự nhau vẫn hiện thị kích cỡ giống nhau bên trên các screen có PPI không giống nhau. Xác suất giữa sp với dp rất có thể điều chỉnh lại bởi bạn dùng.

Tỷ lệ tương đối giữa sp cùng dp có thể điều chỉnh lại


*

Các đơn vị trên: px, in, mm, pt, dp, sp đều rất có thể dùng vào XML trình bày layout, dùng trong các values.xml ...

Vì dụ trong XML trình bày layout

Ví dụ trong: values/dimens.xml

16dp 14sp 100px 20ptViệc sự dụng solo vị như thế nào do ý say đắm của bạn, tuy vậy để đảm bảo độc lập về thiết bị thì nên dùng dptrong trình diễn đơn vị liên quan đến layout, như kích thước, margin, padding, width, height ... Sử dụng sp đến cơ chữ.

Sử dụng những đơn vị trong android - Thông tin màn hình hiển thị thiết bị

Sử dụng DisplayMetrics để biết thông tin hiện thị trên screen thiết bị

DisplayMetrics (android.util.DisplayMetrics) là lớp chứa các hằng số, phương thức cho mình biết tin tức về màn hình thiết bị, thông số kỹ thuật hiện thị.Để dành được một DisplayMetrics có thể làm như sau:

Trong các Activity

DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics);Khi đã tất cả Context

DisplayMetrics metrics = context.getResources().getDisplayMetrics()DisplayMetrics cung ứng các ở trong tính

density Mật độ súc tích (tương quan lại DPI với PPI)
densityDpi chính là DPI
heightPixels, widthPixels Lấy chiều cao, chiều rộng hiện lên theo px
scaledDensity Tỷ lệ mang lại font chữ (đơn vị sp), scaledDensity thường là bằng với density, trừ khi người tiêu dùng điều chỉnh
xdpi, ydpi Số px trong 1 inch đúng mực theo chiều X (ngang), chiều Y

Chuyển đổi giữa các đơn vị

Nhiều trường hợp bạn có nhu cầu chuyển đổi giá trị theo đơn vị này sang quý hiếm theo đơn vị chức năng khác trong thiết kế Android

Chuyển trường đoản cú DP lịch sự PX

public static int convertDpToPixels(float dp, Context context) int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics()); return px;Chuyển tự SP thanh lịch PX

public static int convertSpToPixels(float sp, Context context) int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics()); return px;Từ px tính ra dp

dp = (kích_thước_theo_pixel * 160) / densityNgoài ra chúng ta có thể khai làm giá trị 1 đơn vị chức năng trong values/dimens.xml rồi đọc cực hiếm đó, để biết 1 đơn vị chức năng mô tả gồm bao nhiêu pixel.Ví dụ vào values/dimens.xml thêm các dòng:

1dp1sp1pt1in1mmint sizeInPixel = context.getResources().getDimensionPixelSize(R.dimen.one_unit_dp);

Mật độ màn hình và khoáng sản trong dự án công trình Adnroid

Mật độ màn hình hiển thị density đó là tỷ tệ tượng quan thân số point với pixel, để đưa được quý hiếm này trong apk có đoạn code sau:

float mật độ trùng lặp từ khóa = context.getResources().getDisplayMetrics().density; if (density == 0.75) //Màn hình LDPI else if (density == 1) //Màn hình MDPI else if (density == 1.5) //Màn hình HDPI else if (density == 2) //Màn hình XHDPI else if (density == 3) //Màn hình XXHDPI else if (density == 4) //Màn hình XXXHDPI Chính từ giá trị mật độ này, khi xây dựng những tài nguyên như hình ảnh, các ảnh có lưu trong thư mục trùng cùng với tên màn hình tương ứng, khi áp dụng chạy nó sẽ tìm về ldpi mdpi hdpi xhdpi xxhdpi xxxhdpi nodpi tvdpi tài nguyên cân xứng với màn hình