Android分辨率处理工具类
发布时间:2020-05-24 14:45:07 所属栏目:Java 来源:互联网
导读:Android分辨率处理工具类
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 public class DensityUtil {
/**
* 根据手机的分辨率从 dp 的单位 转成为 px(像素)
*/
public static int dip2px(Context context,float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 根据手机的分辨率从 px(像素) 的单位 转成为 dp
*/
public static int px2dip(Context context,float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
/**
* 将px值转换为sp值,保证文字大小不变
*
* @param pxValue
* @param fontScale(DisplayMetrics类中属性scaledDensity)
* @return
*/
public static int px2sp(float pxValue,float fontScale) {
return (int) (pxValue / fontScale + 0.5f);
}
/**
* 将sp值转换为px值,保证文字大小不变
*
* @param spValue
* @param fontScale(DisplayMetrics类中属性scaledDensity)
* @return
*/
public static int sp2px(float spValue,float fontScale) {
return (int) (spValue * fontScale + 0.5f);
}
/**
* 获得屏幕密度
* @param context
* @return
*/
public static int getScreenDensityDpi(Activity context) {
DisplayMetrics metric = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metric);
int density = metric.densityDpi;
CLog.d("DensityUtil density=",density+"");
return density;
}
/**
* 获得屏幕高度
* @param context
* @return
*/
public static int getScreenHeight(Activity context) {
DisplayMetrics metric = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metric);
int screenHeight = metric.heightPixels;
CLog.d("DensityUtil screenHight=",screenHeight+"");
return screenHeight;
}
/**
* 获得屏幕宽度
* @param context
* @return
*/
public static int getScreenWidth(Activity context) {
DisplayMetrics metric = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(metric);
int screenWidth = metric.widthPixels;
CLog.d("DensityUtil screenWidth=",screenWidth+"");
return screenWidth;
}
/**
* 返回状态栏/通知栏的高度
*
* @param activity
* @return
*/
public static int getStatusHeight(Activity activity) {
Rect frame = new Rect();
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
return statusBarHeight;
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
