DisplayUtil
来源:互联网 发布:linux启动盘软碟通制作 编辑:程序博客网 时间:2024/06/05 09:08
public class DisplayUtil {
private static DisplayUtil displayUtil = null;private DisplayMetrics dm = null;public static DisplayUtil getInstance() { if (displayUtil == null) { displayUtil = new DisplayUtil(); } return displayUtil;}/** * 获取DisplayMetrics对象 * * @return DisplayMetrics */public DisplayMetrics getDisplayMetrics() { if (dm == null) { dm = new DisplayMetrics(); } return dm;}/** * 获取屏幕宽度 * * @param activity * @return 屏幕的宽度 */public int getScreenWidth(Activity activity) { if (activity == null) { return 0; } if (dm == null) { dm = new DisplayMetrics(); } activity.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.widthPixels;}/** * 获取屏幕高度 * * @param activity * @return 屏幕的高度 */public int getScreenHeight(Activity activity) { if (activity == null) { return 0; } if (dm == null) { dm = new DisplayMetrics(); } activity.getWindowManager().getDefaultDisplay().getMetrics(dm); return dm.heightPixels;}/** * 获取设备操作系统版本 * * @return */public String getOsVersion() { return android.os.Build.VERSION.RELEASE;}/** * 获取设备型号 * * @return */public String getDevice() { return android.os.Build.MODEL;}/** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param context * 上下文对象 * @param pxValue * 需要转换的值 * @return 转换后的值 */public int px2dip(Context context, float pxValue) { if (context == null) { return 0; } final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f);}/** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param context * 上下文对象 * @param dipValue * 需要转换的值 * @return 转换后的值 */public int dip2px(Context context, float dipValue) { if (context == null) { return 0; } final float scale = context.getResources().getDisplayMetrics().density; return (int) (dipValue * scale + 0.5f);}/** * 将px值转换为sp值,保证文字大小不变 * * @param context * 上下文对象 * @param pxValue * 需要转换的值 * @return 转换后的值 */public int px2sp(Context context, float pxValue) { if (context == null) { return 0; } final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (pxValue / fontScale + 0.5f);}/** * 将sp值转换为px值,保证文字大小不变 * * @param context * 上下文对象 * @param spValue * 需要转换的值 * @return 转换后的值 */public int sp2px(Context context, float spValue) { if (context == null) { return 0; } final float fontScale = context.getResources().getDisplayMetrics().scaledDensity; return (int) (spValue * fontScale + 0.5f);}/** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue * @param scale * (DisplayMetrics类中属性density) * @return */public int px2dip(float pxValue, float scale) { return (int) (pxValue / scale + 0.5f);}/** * 将dip或dp值转换为px值,保证尺寸大小不变 * * @param dipValue * @param scale * (DisplayMetrics类中属性density) * @return */public int dip2px(float dipValue, float scale) { return (int) (dipValue * scale + 0.5f);}/** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue * @param fontScale * (DisplayMetrics类中属性scaledDensity) * @return */public int px2sp(float pxValue, float fontScale) { return (int) (pxValue / fontScale + 0.5f);}/** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * @param fontScale * (DisplayMetrics类中属性scaledDensity) * @return */public int sp2px(float spValue, float fontScale) { return (int) (spValue * fontScale + 0.5f);}public int getScreenWidthctx(Context context) { return context.getResources().getDisplayMetrics().widthPixels;}public int getScreenHeightctx(Context context) { return context.getResources().getDisplayMetrics().heightPixels;}public float getScreenDensity(Context context) { return context.getResources().getDisplayMetrics().density;}
}
阅读全文
0 0
- DisplayUtil
- Android的DisplayUtil
- getWindowVisibleDisplayFrame DisplayUtil.getScreenSize() VKB影响
- DisplayUtil 把dp或sp转成px(像素)的工具类。适配不同屏幕
- Android dp、px、sp互相转换,获取设备屏幕宽高的工具类DisplayUtil源码
- QT之qss教程-QSpinBox
- 每日一练20171109
- JAVA中将一个List等分成n个list的工具方法
- COC软件设计原则
- javascript中的 变量,作用域和内存
- DisplayUtil
- 基数排序模板
- JodConverter 4.1.0 + OpenOffice 4.1.4 文档转换(Spring boot 1.5.8)
- java实现中文数字与阿拉伯数字互相转换
- 通过 xshell5 在系统linux 和 windows 中上传下载文件
- linux shell和配置文件的执行顺序
- java 包
- Maven install jar包到本地时报no pom错误
- layer的Icon样式以及一些常用的layer窗口使用