android获得屏幕高度和宽度(display中getSize(Point)方法使用)

方法一:

public static int SCREEN_WIDTH;
public static int SCREEN_HEIGHT;

//获取屏幕
WindowManager wm = (WindowManager) getBaseContext().getSystemService(
Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
SCREEN_WIDTH= size.x;
SCREEN_HEIGHT= size.y;

display中getSize(Point)方法使用:

Display display = getWindowManager().getDefaultDisplay();

int width = display.getWidth(); // deprecated

int height = display.getHeight(); // deprecated

查看API 发现:

int getWidth()、int getHeight()方法:(我用的是level 19)

This method was deprecated in API level 13. Use getSize(Point) instead. 

在看一下getSize(Point)方法:

public void getSize (Point outSize)

Added in API level 13

Gets the size of the display, in pixels.

Note that this value should not be used for computing layouts, since a device will typically have screen decoration (such as a status bar) along the edges of the display that reduce the amount of application space available from the size returned here. Layouts should instead use the window size.

The size is adjusted based on the current rotation of the display.

The size returned by this method does not necessarily represent the actual raw size (native resolution) of the display. The returned size may be adjusted to exclude certain system decoration elements that are always visible. It may also be scaled to provide compatibility with older applications that were originally designed for smaller displays

Parameters

outSize Point object to receive the size information. 

那么到底怎么使用呢:

方案1:If you want the the display dimensions in pixels you can usegetSize:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

方案2: if you‘re not in an Activity you can get the default Display viaWINDOW_SERVICE:

display = ((WindowManager)context.getSystemService(context.WINDOW_SERVICE)).getDefaultDisplay();
diswidth = getContext().getResources().getDisplayMetrics().widthPixels;
disheight = getContext().getResources().getDisplayMetrics().heightPixels;

时间: 2025-01-16 18:20:09

android获得屏幕高度和宽度(display中getSize(Point)方法使用)的相关文章

android获得屏幕高度和宽度

android获得屏幕高度和宽度 android获取屏幕的高度和宽度用到WindowManager这个类,两种方法: 1.WindowManager wm = (WindowManager) getContext()                     .getSystemService(Context.WINDOW_SERVICE);      int width = wm.getDefaultDisplay().getWidth();      int height = wm.getDe

那些年纠结过得各种屏幕高度和宽度

在写页面的时候你肯定遇到过各种页面宽高相关的东西,比如:clientHeight.offsetHeight.scrollHeight.availHeight.style.height.innerHeight.outerHeight.scree.height...是不是看着就有点儿晕了.下面,就让我来为你们简单介绍下这些小宝宝吧,只要认识了就是好朋友,什么都好说^_^.时间和能力有限,错误之处还请各位英雄不吝赐教!这里先谢过了?(?ω?)?. (本文仅从名词解释角度,说明各个词语的具体含义是什么,

【笔记】css 实现宽度自适应屏幕 高度自适应宽度

如果说宽高自适应那么大家可能会想到 div{ width: 100%; height: 100% } 但是如果我要自适应的同时还要变成矩形呢?(高度和宽度相等而高度不能写死) 那就要实现如下的黑科技了 div{ width: 100% height: 0 padding-top: 100% /* padding 设置为100% 的时候会等于其容器的宽度 */ } 根据w3c 标准,当padding值为 100% 时 其相等于元素自身的宽度,所以把padding-top 或者 padding-bo

终结者:电脑显示Android手机屏幕之asm.jar工具正确的使用方法

1.asm.jar的作用: 提到asm.jar的作用,那么最显著的莫过于计算机显示Android手机屏幕了:其次可以调整计算机上显示Android手机屏幕的大小(好多人都没有发现这个功能):再者可以选择不同的显示的Android手机设备:还可以设置手机显示屏幕的方向:还可以截取手机的屏幕:等等等. 2.下载asm.jar: 网上下载asm.jar的链接有很多,但需要说明的是有一些是病毒,这里提供一个安全的下载链接地址(下载下来的压缩文件不仅包含了asm.jar,而且还有其实现的源码):http:

css设置div高度与宽度相等的一种方法

div.category{ width:33%; padding:33% 0 0; } 1.关键在padding:33% 0 0这句代码,通过设置padding-top与宽度相等(padding使用百分比时,padding-top和padding-bottom使用的也是宽度的百分比,而不是高度的!!!),使div变成正方形. 2.这样设置后,还有问题,div里的内容都被挤到底部了.另外考虑div里文字本身的高度,修改为: div.category{ width:33%; padding:14%

Android 关于屏幕适配

android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 转自:http://www.cnblogs.com/error404/p/3815739.html#commentform 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如果

Android 计算屏幕大小

计算屏幕高度,宽度代码(Activity中) DisplayMetrics outMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(outMetrics); float mScreenHeight = outMetrics.heightPixels;

android 获得屏幕宽度和高度

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientati

2015001 读书笔记:android在onCreate中获得view高度和宽度

如果直接在Activity的OnCreate()方法中直接获取View的高度和宽度,会发现返回的值都是0. 所以可以用post()方法解决上述问题. btnChange.post(new Runnable() { @Override public void run() { Log.d("custom tag",btnChange.getHeight()+"--"+btnChange.getWidth()); } }); 理解:View.post(Runnable):