获取Android设备屏幕宽、高、dpi密度及横竖屏等参数,androiddpi,获取Android设备屏
分享于 点击 47748 次 点评:119
获取Android设备屏幕宽、高、dpi密度及横竖屏等参数,androiddpi,获取Android设备屏
获取Android设备屏幕宽、高、dpi密度及横竖屏等参数。
功能获取Android设备屏幕宽、高、dpi密度及横竖屏等参数代码/*** 系统参数类** @author wader**/public class MySystemParams {private final String TAG = "SystemParams";private static MySystemParams params;public int screenWidth;// 屏幕宽度,单位为pxpublic int screenHeight;// 屏幕高度,单位为pxpublic int densityDpi;// 屏幕密度,单位为dpipublic float scale;// 缩放系数,值为 densityDpi/160public float fontScale;// 文字缩放系数,同scalepublic final static int SCREEN_ORIENTATION_VERTICAL = 1; // 屏幕状态:横屏public final static int SCREEN_ORIENTATION_HORIZONTAL = 2; // 屏幕状态:竖屏public int screenOrientation = SCREEN_ORIENTATION_VERTICAL;// 当前屏幕状态,默认为竖屏/*** 私有构造方法** @param activity*/private MySystemParams(Activity activity) {DisplayMetrics dm = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(dm);screenWidth = dm.widthPixels;screenHeight = dm.heightPixels;densityDpi = dm.densityDpi;scale = dm.density;fontScale = dm.scaledDensity;screenOrientation = screenHeight > screenWidth ? SCREEN_ORIENTATION_VERTICAL: SCREEN_ORIENTATION_HORIZONTAL;}/*** 获取实例** @param activity* @return*/public static MySystemParams getInstance(Activity activity) {if (params == null) {params = new MySystemParams(activity);}return params;}/*** 获取一个新实例** @param activity* @return*/public static MySystemParams getNewInstance(Activity activity) {if (params != null) {params = null;}return getInstance(activity);}/*** 参数信息*/public String toString() {return TAG+ ":[screenWidth: "+ screenWidth+ " screenHeight: "+ screenHeight+ " scale: "+ scale+ " fontScale: "+ fontScale+ " densityDpi: "+ densityDpi+ " screenOrientation: "+ (screenOrientation == SCREEN_ORIENTATION_VERTICAL ? "vertical": "horizontal") + "]";}}
用户点评