/**
* 作者: chenZY
* 时间: 2017/8/26 14:37
* 描述:
*/
public class ScreenUtils {
/**
* 返回包括虚拟键在内的总的屏幕高度
* 即使虚拟按键显示着,也会加上虚拟按键的高度
*/
public static int getTotalScreenHeight(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
return displayMetrics.heightPixels;
}
/**
* 返回屏幕的宽度
*/
public static int getScreenWidth(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
return displayMetrics.widthPixels;
}
/**
* 返回屏幕可用高度
* 当显示了虚拟按键时,会自动减去虚拟按键高度
*/
public static int getAvailableScreenHeight(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics.heightPixels;
}
/**
* 状态栏高度
*/
public static int getStatusBarHeight(Activity activity) {
int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
return activity.getResources().getDimensionPixelSize(resourceId);
}
/**
* 获取虚拟按键的高度
* 会根据当前是否有显示虚拟按键来返回相应的值
* 即如果隐藏了虚拟按键,则返回零
*/
public static int getVirtualBarHeightIfRoom(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int usableHeight = displayMetrics.heightPixels;
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
int realHeight = displayMetrics.heightPixels;
return realHeight - usableHeight;
}
/**
* 获取虚拟按键的高度,不论虚拟按键是否显示都会返回其固定高度
*/
public static int getVirtualBarHeight(Activity activity) {
int resourceId = activity.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
return activity.getResources().getDimensionPixelSize(resourceId);
}
/**
* 标题栏高度,如果隐藏了标题栏则返回零
*/
public static int getTitleHeight(Activity activity) {
return activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
}
/**
* 将dp值转换为px值
*/
public static int dp2px(Context context, float dpValue) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 将px值转换为dp值
*/
public static int px2dp(Context context, float pxValue) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有