当前位置:首页 » 安卓系统 » android获取屏幕分辨率

android获取屏幕分辨率

发布时间: 2024-10-16 07:20:32

A. 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;

}

B. 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);

}
}

C. Android手机js获取屏幕尺寸不准,导致计算的问题

Android中可以通过三种方式获到屏幕大小:
1、通过WindowManager获取
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth : " + dm.heightPixels);
System.out.println("width : " + dm.widthPixels);

2、通过Resources获取
DisplayMetrics dm2 = getResources().getDisplayMetrics();
System.out.println("heigth2 : " + dm2.heightPixels);
System.out.println("width2 : " + dm2.widthPixels);

3、通过Display 获取屏幕的默认分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight());

D. 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;

E. 如何用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设备

F. 如何通过adb命令获取android设备的屏幕分辨率

1、在命令行中输入“adb shell” 2、进入shell之后,再输入“cat /system/build.prop grep "proct"” 其实,设备信息,主要是存放在“/system/build.prop”文件,通过“cat”命令就可以查看了。

G. 怎样获取Android手机屏幕的大小(分辨率、密度)

下面的代码即可获取屏幕的尺寸: 在一个Activity的onCreate方法中,编写以下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metric); int width = metric.widthPixels; // 宽度(PX) int height = metric.heightPixels; // 高度(PX) float density = metric.density; // 密度(0.75 / 1.0 / 1.5) int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240) 需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。 所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,如下: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:resizeable="true" android:anyDensity="true" /> 这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

热点内容
安卓如何设置双网卡 发布:2024-10-16 18:35:48 浏览:710
存储空间不足某些系统功能 发布:2024-10-16 17:59:24 浏览:240
你是怎么做资产配置的 发布:2024-10-16 17:58:46 浏览:869
南京社保原始密码是什么 发布:2024-10-16 17:58:00 浏览:917
为什么叫波斯密码 发布:2024-10-16 17:42:16 浏览:371
linux文件共享samba 发布:2024-10-16 17:41:30 浏览:825
有密码的压缩文件 发布:2024-10-16 17:28:19 浏览:726
115浏览器视频缓存 发布:2024-10-16 17:22:59 浏览:674
家里密码锁忘记了如何设置新密码 发布:2024-10-16 17:21:28 浏览:98
如何清除微信浏览器缓存 发布:2024-10-16 17:07:19 浏览:596