android查看分辨率
⑴ android获取屏幕的分辨率方法有几种
获取屏幕分辨率的方式如下:
一、在activity中
1、DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
2、DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
二、在service中
DisplayMetrics dm = new DisplayMetrics();
dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
⑵ android 怎么查看当前屏幕分辨率
java">获得当前屏幕的分辨率packagecom.shanhaiyang.display_resolution_demo;
importandroid.app.Activity;
importandroid.graphics.Color;
importandroid.os.Bundle;
importandroid.util.DisplayMetrics;
importandroid.widget.TextView;
{
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DisplayMetricsdm=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
StringstrResolution="Resolution:"+dm.widthPixels+"*"+dm.heightPixels;
TextViewtv=(TextView)findViewById(R.id.my_tv);
tv.setText(strResolution);
tv.setTextColor(Color.RED);
}
}
⑶ android如何获取相机分辨率
//参考SDK中的API,获取相机的参数:
Camera.Parameters parameters = camera.getParameters();
//获取预览的各种分辨率
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
//获取摄像头支持的各种分辨率
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
实例:
// 获取照相机参数,设置需要的参数,其余缺省
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
// 设置照片格式
parameters.setPictureFormat(PixelFormat.JPEG);
// 设置预浏尺寸,注意要在摄像头支持的范围内选择
parameters.setPreviewSize(WIDTH, HEIGHT);
// 设置照片分辨率,注意要在摄像头支持的范围内选择
parameters.setPictureSize(WIDTH, HEIGHT);
// 设置照相机参数
camera.setParameters(parameters);
// 开始拍照
camera.startPreview();
⑷ android如何获取相机分辨率
安卓系统在获取相机分辨率时,可以参考SDK中的API,获取相机的参数:
Camera.Parameters parameters = camera.getParameters();
获取预览的各种分辨率:
List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();
获取摄像头支持的各种分辨率:
List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();
例如:获取照相机参数,设置需要的参数,其余缺省
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
设置照片格式:
parameters.setPictureFormat(PixelFormat.JPEG);
设置预浏尺寸,注意要在摄像头支持的范围内选择:
parameters.setPreviewSize(WIDTH, HEIGHT);
设置照片分辨率,注意要在摄像头支持的范围内选择
parameters.setPictureSize(WIDTH, HEIGHT);
设置照相机参数:
camera.setParameters(parameters);
开始拍照:
camera.startPreview();
以上就是获取相机分辨率的步骤。
⑸ 怎么查看android平板分辨率
在设置里可能有个类似于“关于手机”的选项,一般在这里面有分辨率。
⑹ android中怎么获得屏幕的分辨率
// 通过WindowManager获取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// 通过Resources获取
DisplayMetrics dm2 = getResources().getDisplayMetrics();
// 获取屏幕的默认分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight());
在安卓4.2系统中,使用方法一得到了正确的屏幕尺寸值,而使用方法二和三得到的值全部为零。原因不祥。其中方法三中的display.getWidth()和display.getHeight()已被弃用。
⑺ 如何在手机上查看android手机分辨率
手机上是没有对应的显示选项的,你可以到网上搜索对应的手机型号,就会有分辨率的。
⑻ android 怎么获取当前使用的屏幕分辨率
请看下面截图,例子来自android学习手册,360手机助手中下载,排到第4个,里面有108个例子、源码还有文档
我们在网上看得最多的应该是以下这个方法:
WindowManagerwm=getWindowManager();
Displaydisplay=wm.getDefaultDisplay();
intscreenWidth=display.getWidth();
intscreenHeight=display.getHeight();
但studio提示它已经过时了,建议不再使用。
再去查看android源码,发现可使用getSize替代,代码如下:
publicstaticPointgetSize(Activityact){
Displaydisplay=act.getWindowManager().getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);//size.x就是宽度,size.y就是高度
returnsize;
}
一段时间后发现getWindowManager方法只能在activity中使用或者被activity实例调用,那像我们在Fragment或者Adapter中想获得屏幕分辨率,又有困难了(因为Fragment和Adapter一般只有Context),虽然可以通过强制类型转换来处理,可是毕竟劳民伤财需要时时记得去转换。所以又改了从Context获取系统服务,然后再去取分辨率,改后的代码如下:
publicstaticPointgetSize(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
Displaydisplay=wm.getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);
returnsize;
}
再后来发现通过DisplayMetrics也能获取分辨率
publicstaticPointgetSizeNew(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetricsdm=newDisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
Pointsize=newPoint();
size.x=dm.widthPixels*dm.density;
size.y=dm.heightPixels*dm.density;
returnsize;
}
不久便发现这个新方法时常量错了,结果确认widthPixels和heightPixels就是宽和高,无需再乘上density。因为widthPixels和heightPixels的单位都是像素,而density指的是像素密度,即一个单位内有几个像素,所以在我这边乘上density没有意义,只有除以density才有意义。dm.widthPixels/dm.density指的是宽度上有多少单位,dm.heightPixels/dm.density指的是高度上有多少单位。网上乘以density的做法,可能只是他们恰好遇上部分特殊机型罢了。最后的代码如下:
publicstaticPointgetSizeNew(Contextctx){
WindowManagerwm=(WindowManager)ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetricsdm=newDisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
Pointsize=newPoint();
size.x=dm.widthPixels;
size.y=dm.heightPixels;
returnsize;
}
⑼ 怎么查看android设备 分辨率
为解决Android设备碎片化,引入一个概念density,也就是密度.它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单 位.比如设备分辨率为240x320,屏幕物理尺寸为1.5英寸x2英寸(对角线为2.5)它的密度可以用分辨率/尺寸表示:240/1.5或者即320/2,密度为160dpi。算对角线也是一样 的,长的平方+宽的平方=160000,开方后=400.可知400/2.5=160.对于用户来说,密度越大的屏幕显示效果越精细,因为每英寸显示的像素数量更多。 以上的描述就是一个蓝本(此蓝本对应于mdpi). 按照此蓝本一个dp相当于160dpi屏幕中的一个px.同理在,在320dpi的屏幕中,一个dp相当于2个px. 通过这样的成比例放缩,Android解决了需要多个不同屏幕中的大小显示问题. 所以在Eclipse的布局文件中,以3.7in WVGA(Nexus One)(480x800)为例,可以看见其为sw320dp,h533dp. 即宽有320dp,高为533dp. 是怎么计算出来的呢? 将(480的平方+800的平方)开方=932.9523031 然后932.9523031/屏幕尺寸3.7=252.14927,此结果为此手机的屏幕密度. 然后按照上面的蓝本,就应该要计算在该手机上1dp对于多少px.计算如下: 160 1dp=1px 252.14927 1dp=?px 结果为: 252.14927/160=1.5759329 注意: 在此一般不取1.5759329,只取到1.5即可. 所以:480/1.5=320;800/1.5=533.3333(通常取为533),即上述的sw320dp,h533dp. 手机屏幕密度的对应关系 120上下浮动的都属于ldpi 160上下浮动的都属于mdpi 240上下浮动的都属于hdpi 320上下浮动的都属于xdpi 以摩托罗拉ME525+(3.7英寸 分辨率854x480像素)为例: 将(480的平方+854的平方)开方=979.6509 然后979.6509/屏幕尺寸3.7=264.770529,此结果为此手机的屏幕密度.对应为hdpi 264.770529/160=1.6548 即在此手机中1dp=1.6548个像素,只取到1.6即可 所以:480/1.6=300;854/1.6=533.75(通常取为533) 按照这个逻辑,算出来的宽应该是只有300dp.悲剧的是,如果某个控件的宽为300,在此手机上是不能铺满手机的宽的. 也就是说除以的不是1.6而还是1.5!!!!所以将宽设置为320即可 总结:在hdpi中,像素转换为dp统一用的是:像素/1.5 以联想K860(5.0英寸,分辨率1280x720像素)为例: 将(1280的平方+720的平方)开方=1468.60478 然后1468.60478/屏幕尺寸5=293.720,此结果为此手机的屏幕密度.对应为xdpi 293.720/160=1.8357 即在此手机中1dp=1.8357个像素 所以:1280/1.8357=697.281;720/1.8357=392.22 按照这个逻辑,算出来的宽应该是392.22.悲剧的是,如果某个控件的宽为392.22,在此手机上是显示不完全的. 也就是说除以的不是1.8而是2!!!!所以将宽设置为360即可 总结:在xdpi中,像素转换为dp统一用的是:像素/2 注意问题1: 在建立模拟器的时候注意 854x480在Hardware中,应该将Abstracted LCD density设置为240,并手动输入分辨率 1280x720在Hardware中,应该将Abstracted LCD density设置为320,并手动输入分辨率 注意问题2: 多个layout文件夹在命名上有相应规则,以分辨率480x854为例,需要建立480x854像素的layout文件夹,命名:layout-854x480,有两点需要注意:①大数(854)必须在前, 否则会报错;②两个数字之间的符号是小写英文字母“x”,不是乘号
⑽ 如何用adb命令 获得Android手机分辨率
在命令行中输入“adb shell” ;进入shell之后,再输入“cat /system/build.prop grep "proct"” 设备信息主要是存放在“/system/build.prop”文件,通过“cat”命令就可以查看了。
拓展资料:
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。
它的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备