Android判断横竖屏方向和屏幕工具类

来源:互联网 发布:煤中全水分的算法 编辑:程序博客网 时间:2024/05/22 15:11

获取屏幕方向

  Configuration cf = context.getResources().getConfiguration();      ori = cf.orientation;      if (ori == cf.ORIENTATION_LANDSCAPE)      else if (ori == cf.ORIENTATION_PORTRAIT)  


另一种 方式

/** * 获取手机屏幕方向 * @param context * @return */public static String getScreenOrientation(Context context){DisplayMetrics dm = context.getResources().getDisplayMetrics();if(dm.widthPixels < dm.heightPixels){return portrait;}else{return landscape;}}


屏幕工具类

public class DensityUtil {private static DisplayMetrics dm;// 当前屏幕的densityDpiprivate static float dmDensityDpi = 0.0f;// 密度因子private static float scale = 0.0f;private static void init(Context context) {if (dm == null) {dm = new DisplayMetrics();dm = context.getApplicationContext().getResources().getDisplayMetrics();// 设置DensityDpiDensityUtil.dmDensityDpi = dm.densityDpi;// 密度因子scale = DensityUtil.dmDensityDpi / 160;}}/** * 当前屏幕的density因子 *  * @param DmDensity * @retrun DmDensity Getter * */public static float getDmDensityDpi(Context context) {init(context);return dmDensityDpi;}/** * 密度转换像素 * */public static int dip2px(Context context, float dipValue) {init(context);return (int) (dipValue * scale + 0.5f);}/** * 像素转换密度 * */public static int px2dip(Context context, float pxValue) {init(context);return (int) (pxValue / scale + 0.5f);}/* * 屏幕宽度 */public static int getWidthPix(Context context) {init(context);return dm.widthPixels;}/* * 屏幕高度 */public static int getHeightPix(Context context) {init(context);return dm.heightPixels;}}


0 0