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

android获取当前屏幕

发布时间: 2022-08-28 12:54:14

‘壹’ android编程:android中如何获取屏幕大小

java">Displaydisplay=getWindowManager().getDefaultDisplay();
Pointsize=newPoint();
display.getSize(size);
intwidth=size.x;
intheight=size.y;

‘贰’ 安卓手机是怎样抓取屏幕的

我来说,是手机自带的截屏工具,你先摁住home键,再摁电源键,现在是一起摁住的,在一起松开就好了,就截屏了

‘叁’ 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手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:

[java] view plain print?
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
[html] view plain print?
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" /> 这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

[java] view plain print?
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;
public class TextCanvasActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(new MyView(this));

//定义DisplayMetrics 对象
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
//取得窗口属性
getWindowManager().getDefaultDisplay().getMetrics(dm);

//窗口的宽度
int screenWidth = dm.widthPixels;

//窗口高度
int screenHeight = dm.heightPixels;
TextView textView = (TextView)findViewById(R.id.tv1);
textView.setText("屏幕宽度: " + screenWidth + "\n屏幕高度: " + screenHeight);
}
}

‘伍’ 百度android地图怎么获取当前屏幕中心点的坐标

true]GeoPoint centerPoint = mapview.getMapCenter();// 地图中心坐标 int tbSpan = mapview.getLatitudeSpan();// 当前纬线的跨度(从地图的上边缘到下边缘) int lrSpan = mapview.getLongitudeSpan();// 当前经度的跨度(从地图的左边缘到地图的右边缘) GeoPoint ltPoint = new GeoPoint(centerPoint.getLatitudeE6() - tbSpan / 2, centerPoint.getLongitudeE6() - lrSpan / 2);// 左上角坐标 GeoPoint rbPoint = new GeoPoint(centerPoint.getLatitudeE6() + tbSpan / 2, centerPoint.getLongitudeE6() + lrSpan / 2);// 右下角坐标 查看原帖>>

‘陆’ 怎样获取Android手机屏幕的大小

要获取手机屏幕大小,其实太简单,只要用尺量取屏幕对角尺寸(单位:mm)。然后用这个尺寸除以25.4,就得到英寸了。譬如:127mm/25.4=5.0 英寸。

‘柒’ 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节点,如下: 这样当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

‘捌’ android如何获取整个屏幕大小

有两种方式:(获取到的大小准确度与手机的类型有关,google手机你还需要加上底部栏)
1.
WindowManager
wm
=
(WindowManager)
getContext()
.getSystemService(Context.WINDOW_SERVICE);
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();
2.
WindowManager
wm
=
this.getWindowManager();
int
width
=
wm.getDefaultDisplay().getWidth();
int
height
=
wm.getDefaultDisplay().getHeight();

热点内容
创建邮箱地址服务器连接错误 发布:2025-01-13 09:49:24 浏览:723
linux编辑文档 发布:2025-01-13 09:47:51 浏览:435
二手制冷压缩机 发布:2025-01-13 09:43:59 浏览:585
网鱼电脑密码多少 发布:2025-01-13 09:33:46 浏览:464
如何取消子账号密码 发布:2025-01-13 09:22:41 浏览:347
抖音搜索有缓存 发布:2025-01-13 09:17:28 浏览:590
c语言字符数组连接 发布:2025-01-13 08:55:11 浏览:901
国二c语言编程题目 发布:2025-01-13 08:45:41 浏览:285
ipad软件如何加密 发布:2025-01-13 08:28:59 浏览:278
android的文件操作 发布:2025-01-13 08:24:48 浏览:173