`

如何区分android 设备是平板还是手机

阅读更多

在项目中我主要负责界面的优化工作,从中也学到了很多,总结一下经验,希望对android 开发的童鞋们有所帮助,其中我们需要对不同分辨率的手机和不同分辨率的平板做很多界面上的工作,这就需要判断你ddms里的设备是哪个分辨率的手机或平板从而加载不同的layout布局或资源文件,下面就是一个判断平板和手机的方法,文档里我会附上傻瓜式的解释。

 

得到屏幕分辨率:

  public static int getScreenType(Context context) {

//得到屏幕的尺寸
        DisplayMetrics metrics = new DisplayMetrics();

//WindowManager :应用用来和窗口交互的接口
        WindowManager wm = (WindowManager) context.getSystemService("window");
        if (wm == null) {
            Log.e(TAG, "Get WindowManager error!");
            return ControlConstants.SCREEN_TYPE_OTHER;//常量0,代表其他的屏幕
        }
        wm.getDefaultDisplay().getMetrics(metrics);

//这段LOG用来打印出当前屏幕的尺寸:宽和高的像素值
        Log.d(TAG, "dm.widthPixels = " + metrics.widthPixels
                + " dm.heightPixels = " + metrics.heightPixels);

 

//先解释:横屏的S10屏幕的宽度像素值: WIDTHPIXELS_H_S10 = 1920;
               横屏的S10屏幕的高度像素值  HEIGHTPIXELS_H_S10 = 1128;
               竖屏的S10屏幕的宽度像素值WIDTHPIXELS_V_S10 = 1200;
               竖屏的S10屏幕的高度像素值 HEIGHTPIXELS_V_S10 = 1848;
               横屏的S7屏幕的宽度像素值 WIDTHPIXELS_H_S7 = 800;
                横屏的S7屏幕的高度像素值HEIGHTPIXELS_H_S7 = 1216;
               竖屏的S7屏幕的宽度像素值 WIDTHPIXELS_V_S7 = 1280;
               竖屏的S7屏幕的高度像素值HEIGHTPIXELS_V_S7 = 736;

 

如果当前屏幕尺寸的宽高大于等于这些值(横屏和竖屏为或的关系)则可以判断就是S10
        if (metrics.widthPixels >= WIDTHPIXELS_H_S10
                && metrics.heightPixels >= HEIGHTPIXELS_H_S10
                || metrics.widthPixels >= WIDTHPIXELS_V_S10
                && metrics.heightPixels >= HEIGHTPIXELS_V_S10) {
            return ControlConstants.SCREEN_TYPE_S10;
        }
方法同上
        if (metrics.widthPixels >= WIDTHPIXELS_H_S7
                && metrics.heightPixels >= HEIGHTPIXELS_H_S7
                || metrics.widthPixels >= WIDTHPIXELS_V_S7
                && metrics.heightPixels >= HEIGHTPIXELS_V_S7) {
            return ControlConstants.SCREEN_TYPE_S7;
        }
        return ControlConstants.SCREEN_TYPE_OTHER;
    }

这段方法得到的int值作为MyAppContext extends Application中的一个私有变量

 

 

 

 

 

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics