Android 获取手机屏幕高度 getMetrics和getRealMetrics的区别

Android 获取手机屏幕高度 getMetrics和getRealMetrics的区别,第1张

先说正确的获取屏幕高度方式

使用以下的方法去获取获取应用的屏幕高度

此处通过 getMetrics() 获取的高度其实是去除了虚拟按键后的高度。所以和手机的实际屏幕高度可能有差异

getReaMetrics() 则是真正原始的屏幕尺寸

问题一:如何获取Android手机屏幕高宽值 DisplayMetrics metrics = new DisplayMetrics();

objActivitygetWindowManager()getDefaultDisplay()getMetrics(metrics);

M_NSCREENWIDTH = metricswidthPixels; 屏幕宽度

M_NSCREENHEIGHT = metricsheightPixels; 屏幕高度

问题二:android怎么获取屏幕宽度 在一个Activity的onCreate方法中,写入如下代码:

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下:

这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

问题三:Android开发 怎样获取屏幕的宽高是多少厘米 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸

下面的代码即可获取屏幕的尺寸。

在一个Activity的onCreate方法中,写入如下代码:

[java] view plain copy print

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();

getWindowManager()getDefaultDisplay()getMetrics(metric);

int width = metricwidthPixels; 屏幕宽度(像素)

int height = metricheightPixels; 屏幕高度(像素)

float density = metricdensity; 屏幕密度(075 / 10 / 15)

int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)

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

[html] view plain copy print

>

问题四:Android 如何获得设备触摸板(屏)的长宽 WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);int width = wmgetDefaultDisplay()getWidth();int height = wmgetDefaultDisplay()getHeight();

问题五:android如何获取屏幕宽度 现在获取屏幕宽度一般都是像素。

可以用以下代码:

WindowManager wm = (WindowManager) getContext()

getSystemService(ContextWINDOW_SERVICE);

int width = wmgetDefaultDisplay()getWidth();

int height = wmgetDefaultDisplay()getHeight();

或者是:

WindowManager wm = thisgetWindowManager();

int width = wmgetDefaultDisplay()getWidth();

int height = wmgetDefaultDisplay()getHeight();

问题六:android怎么获取屏幕的宽度 在一个Activity的onCreate方法中,写入如下代码: DisplayMetrics metric = new DisplayMetrics(); getWindowManager()getDefaultDisplay()getMetrics(metric); int width = metricwidthPixels; 屏幕宽度(像素) int height = metricheightPixels; 屏幕高度(像素) float density = metricdensity; 屏幕密度(075 / 10 / 15) int densityDpi = metricdensityDpi; 屏幕密度DPI(120 / 160 / 240)AndroidManifestxml文件中,加入supports-screens节点,具体的内容如下: 这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

问题七:js网页如何获取手机屏幕宽度 ]@]@]

@sssss

var x = navigator;

var w=windowinnerWidth

|| documentdocumentElementclientWidth

|| documentbodyclientWidth;

var h=windowinnerHeight

|| documentdocumentElementclientHeight

|| documentbodyclientHeight;

documentgetElementById(p1)innerHTML=屏幕分辨率:+screenwidth + + screenheight+内部窗口: + w + + h

不知道是不是这个 屏幕分辨率 :pc上的桌面分辨率 。手机上是 一个型号固定的分辨率比如

华为8813的分辨率是480854。。 内部窗口是 改变窗口大小刷新一下就有新的数据

问题八:android编程:android中如何获取屏幕大小 获取屏幕尺寸大小,是程序能在不同大小的手机上有更好的兼容性

WindowManager wm=(WindowManager)getContext()getSystemService(ContextWINDOW_SERVICE);

wwidth=wmgetDefaultDisplay()getWidth();手机屏幕的宽度

hheight=wmgetDefaultDisplay()getHeight();手机屏幕的高度

问题九:android如何获取整个屏幕大小 状态栏的高度:Rect frame = new Rect();

MainActivitythisgetWindow()getDecorView()getWindowVisibleDisplayFrame(frame);

int topHeigh= frametop;

问题十:Android中,BaseAdapter类中怎么获取屏幕宽度 像这种可能多处能用到的我一般在BaseApplication中初始化: 这样不论在哪里都可以调到

public class App extends Application {

private static App mInstance;

@Override

public void onCreate() {

mInstance = this;

}

/

获取当前手机屏幕的宽

/

public static int getPhoneWidth() {

手机屏幕的宽

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getWidth();

}

/

获取当前手机屏幕的高

/

public static int getPhoneHeight() {

手机屏幕的高

WindowManager wm = (WindowManager) mInstancegetSystemService(WINDOW_SERVICE);

return wmgetDefaultDisplay()getHeight();

}

}

procedure TForm1Button2Click(Sender: TObject);

var

range:TBDColorRange;

Bit1,Bit2 : TBDBitmapData;

Left,Top : Integer;

b : Boolean;

target:String;

begin

Bit1:=TBDBitmapDataCreate; Bit2:=TBDBitmapDataCreate;

ranger:=5; rangeG:=5; rangeB:=5;

target:='1bmp';

if not Bit2LoadFromFile(target) then

begin

Bit1Free; Bit2Free; exit;

end;

Bit1CopyFormScreen();

b:=Bit1FindImage(Bit2,range,Left,Top);

if b then

begin

SetCursorPos(Left+20,Top+5) // 移到找到的图的坐标

end

else

Bit1Free;

Bit2Free;

end;

第一步,这里我们安装好Delphi XE7后直接从程序栏中启动。

第二步,在菜单工具栏中单击[File]-->[New]-->[Other]菜单,将进入新建项目的对话框。 第三步,选择[Multi-Device Projects]选项,然后选中 [Header/Footer]选项,最后单击[OK]按钮。

第四步,在d出的文件夹对话框中选择项目文件保存的路径,然后单定[确定]按钮进行。

第五步,好了,这时新建了一个项目,里面有一个窗体文件。窗体有一个标题栏,文字内容我们自己来修改。

第六步,我们把设计的图形界观的样式选择为[Android]模式,这样比较直观。

第七步,这时需要我们选择一下Android手机的屏幕大小,这对分辨率是有影响,请根据开发的目标环境而定。在这里我们选择的是主流5寸屏。

第八步,我们放进两个Label控件、两个Text控件、两件Button控件,这一步不多讲,从右下角的标签栏拖出就是。然后命名方式根据开发项目组的习惯吧。

第九步,这时还有一步要做,就是选择移动程序调试的模拟器或真实手机设备。

第十步,按F9或单击小三角形图标进行编译与运行移动应用程序,在最下方可以看到编译信息及部署信息。

第十一步,部署需要一到两分钟,我们到Android模拟器看看执行的效果图吧!

获取屏幕分辨率的方式如下:

一、在activity中

1、DisplayMetrics dm = getResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

2、DisplayMetrics dm = new DisplayMetrics();

thisgetWindowManager()getDefaultDisplay()getMetrics(dm);

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

二、在service中

DisplayMetrics dm = new DisplayMetrics();

dm = getResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

三、在非activity中,传一个Context进来调用

1、public ImageGalleryAdapter(Context c) {

myContext = c;

DisplayMetrics dm = cgetResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

}

2、public class BaseTools {

public static int getWindowWidth(Context context){

// 获取屏幕分辨率

WindowManager wm = (WindowManager) (contextgetSystemService(ContextWINDOW_SERVICE));

DisplayMetrics dm = new DisplayMetrics();

wmgetDefaultDisplay()getMetrics(dm);

int mScreenWidth = dmwidthPixels;

return mScreenWidth;

}

public static int getWindowHeigh(Context context){

// 获取屏幕分辨率

WindowManager wm = (WindowManager) (contextgetSystemService(ContextWINDOW_SERVICE));

DisplayMetrics dm = new DisplayMetrics();

wmgetDefaultDisplay()getMetrics(dm);

int mScreenHeigh = dmheightPixels;

return mScreenHeigh;

}

}

以上就是关于Android 获取手机屏幕高度 getMetrics和getRealMetrics的区别全部的内容,包括:Android 获取手机屏幕高度 getMetrics和getRealMetrics的区别、安卓如何获取屏幕宽度、Delphi屏幕找图已经可以找到了,有没有什么办法能获取到找到的屏幕图片的坐标,并移动过去,和颜色坐标,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9663967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存