Daw*_*yży 120 android resolution android-layout
我想dp从px编程上计算.怎么做?我得到的答案是:
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
ht = displaymetrics.heightPixels;
wt = displaymetrics.widthPixels;
Run Code Online (Sandbox Code Playgroud)
Vic*_*ani 334
这里的所有答案都显示了dp-> px转换而不是px-> dp,这是OP要求的.请注意,TypedValue.applyDimension不能用于转换px-> dp,因为必须使用此处描述的方法:https://stackoverflow.com/a/17880012/504611(为方便起见,引用如下).
没有Context,优雅的静态方法:
Run Code Online (Sandbox Code Playgroud)public static int dpToPx(int dp) { return (int) (dp * Resources.getSystem().getDisplayMetrics().density); } public static int pxToDp(int px) { return (int) (px / Resources.getSystem().getDisplayMetrics().density); }
Vla*_*mir 53
float ht_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, ht, getResources().getDisplayMetrics());
float wt_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, wt, getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)
kas*_*rch 40
这应该给你转换像素 - > dp:
DisplayMetrics displaymetrics = new DisplayMetrics();
int dp = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, myPixels, displaymetrics );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88730 次 |
| 最近记录: |