在项目中我主要负责界面的优化工作,从中也学到了很多,总结一下经验,希望对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中的一个私有变量
分享到:
相关推荐
判断当前设备是Pad还是手机,根据其是否支持电话服务
《Android手机/平板电脑程序开发教练》涵盖了Android手机应用开发、平板电脑应用开发的最新内容。本书的特点是,没有催眠读者的抽象文字,以大量的图片及Step-by-Step方式讲解Android应用程序的开发,让读者不需要强...
Android应用源码之android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar
android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar
方法一 代码如下:public static boolean isTablet(Context context) { return (context.getResources().get...通过计算设备尺寸大小的方法来判断是手机还是平板: 代码如下:/** * 判断是否为平板 * * @re
Android 3将Android的全部力量带到了平板计算平台!《Android平板电脑应用开发入门经典》向Android新手快速介绍了如何使用Android 3开发平板应用。经验丰富的作者Wei-Meng Lee首先介绍了如何安装必要的工具并编写...
Android使用Fragment实现兼容手机和平板的程序
获取Android手机或平板当前系统版本号、型号、厂商、唯一识别号(imei或meid)等
Android应用源码开发Demo,主要用于毕业设计学习。
现在的刷机教程层出不穷,但是没有哪个大神可以开发出一款安卓刷IOS的工具,使得安卓手机或者安卓平板变成IOS苹果系统,这个工具除了可以刷安卓手机也可以刷安卓平板,网友实测,如果设备不支持的话软件会提醒不支持...
Android手机平板电脑程序开发教练
Android 应用项目开发源码 参考和学习使用
谷歌前几天发布了一个名为通用音乐播放器的示例应用程序,它可以在智能手机,平板产电脑,Android Atuo,Android Wear和谷歌投影设备上正常运行。这款软件对开发人员来说是一个参考设计,使他们能够了解如何实现跨多...
唯一标识一台Android设备(手机_平板_手表_电视.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
andriod中判断用户使用的设备是手机还是平板,代码简单易懂。
两个android设备连接同一wifi,分别安装两个apk,实现将一个设备的屏幕投射给另一个android设备,视频码率清晰度可配置。
安卓Android源码——android多分辨率适配 ,判断平板还是手机,等比例缩小图片.rar
安卓Android源码——android多分辨率适配 ,判断平板还是手机,等比例缩小图片.zip
Android应用源码之android多分辨率适配 ,判断平板还是手机,等比例缩小图片.zip