Android(安卓)中sp、dp、px转换,以及获取手机屏幕宽高
16lz
2021-01-24
/** * 将 px值转换为dp值 */ public static int px2dp(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density ; return ( int) (pxValue / scale + 0.5f); } /** * 将 dp值转换为px值 */ public static int dp2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density ; return ( int) (dpValue * scale + 0.5f); } /** * 将 px值转换为sp值 */ public static int px2sp(Context context, float pxValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity ; return ( int) (pxValue / fontScale + 0.5f); } /** * 将 sp值转换为px值 */ public static int sp2px(Context context, float spValue) { final float fontScale = context.getResources().getDisplayMetrics().scaledDensity ; return ( int) (spValue * fontScale + 0.5f); } /** * 获取屏幕宽度 */ public static int getScreenWidthPixels(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); return metric. widthPixels; } /** * 获取屏幕高度 */ public static int getScreenHeightPixels(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); return metric. heightPixels; }
更多相关文章
- Android实现随屏幕旋转的TextView
- 原YUV格式的解析 Android(安卓)NV21 视频采集
- 与手势识别有关的Android类
- Android(安卓)输入键盘弹出隐藏监听
- android 自定义侧边栏
- Android(安卓)UI学习 - GridView和ImageView的使用
- Bitmap and DrawPoint
- Android(安卓)屏幕适配之框架(AndroidAutoSize)(今日头条)适配
- Android(安卓)WebView 向上向下滑动监听