Bạn có thể nhận thông tin trên màn hình từ cấu trúc DisplayMetrics :
DisplayMetrics metrics = getResources().getDisplayMetrics();
Mặc dù Android không sử dụng ánh xạ pixel trực tiếp, nhưng nó sử dụng một số giá trị Pixel Mật độ được lượng tử hóa sau đó chia tỷ lệ thành kích thước màn hình thực tế. Vì vậy, metrics.densityDpi
bất động sản sẽ là một trong những DENSITY_xxx
hằng số ( 120
, 160
, 213
, 240
, 320
, 480
hoặc 640
dpi).
Nếu bạn cần mật độ pixel LCD thực tế (có lẽ đối với ứng dụng OpenGL), bạn có thể lấy nó từ metrics.xdpi
và metrics.ydpi
các thuộc tính cho mật độ ngang và dọc tương ứng.
Nếu bạn đang nhắm mục tiêu Cấp API sớm hơn 4. metrics.density
Thuộc tính là hệ số tỷ lệ dấu phẩy động từ mật độ tham chiếu (160dpi). Giá trị tương tự được cung cấp bởi metrics.densityDpi
có thể được tính toán
int densityDpi = (int)(metrics.density * 160f);
getDisplayMetrics().xdpi
, được cho là trả về dpi thực của thiết bị. Xin lưu ý rằng giá trị này không được các nhà sản xuất đặt chính xác trên các thiết bị , do đó bạn không thể sử dụng chúng . Đáng buồn nhưng có thật: thông tin về dpi thực không có sẵn . Nguồn: Groups.google.com/d/msg/android-developers/g56jV0Hora0/ith