Trong ứng dụng Android của tôi, tôi có pixel (69px) và tôi cần chuyển đổi pixel này thành nhúng (Mật độ pixel độc lập).Cách chuyển đổi pixel thành nhúng (Mật độ độc lập pixel) trong Android
Mọi đề xuất?
Trong ứng dụng Android của tôi, tôi có pixel (69px) và tôi cần chuyển đổi pixel này thành nhúng (Mật độ pixel độc lập).Cách chuyển đổi pixel thành nhúng (Mật độ độc lập pixel) trong Android
Mọi đề xuất?
Hy vọng điều này sẽ rất hữu ích
Resources r = getResources();
float dp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, 69, r.getDisplayMetrics());
Chỉ cần chia giá trị của mình bằng pixel bởi DisplayMetrics.density.
nào là đúng: để phân chia hoặc nhân giống như trong ví dụ của @ Khushboo? –
Chia. Công thức được hiển thị bởi @Khushboo chuyển đổi dp thành px. Trên màn hình xhdpi, DisplayMetrics.density == 2.0f. Vì 1 dp == 1 px trên màn hình mdpi và 1 dp == 2 px trên màn hình xhdpi, bạn cần chia để chuyển dp thành px, không phải cách khác xung quanh. –
Bạn có thể thử này:
public int convertDiptoPx(int pixel){
float scale = getResources().getDisplayMetrics().density;
int dips=(int) ((pixel * scale) + 0.5f);
logMessage("Px=" +pixel+" DipValue="+dips);
return dips;
}
ngồi biên tập:
public int convertPxtoDip(int pixel){
float scale = getResources().getDisplayMetrics().density;
int dips=(int) ((pixel/scale) + 0.5f);
return dips;
}
Không nó được đưa ra cùng value.I có nghĩa là giá trị của điểm ảnh như nhúng – user1195614