android 获取屏幕宽度和高度

// 获取屏幕宽高(方法1)

int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px)

int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p)

Log.e(TAG + " getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);

// 获取屏幕密度(方法2)

DisplayMetrics dm = new DisplayMetrics();

dm = getResources().getDisplayMetrics();

float density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)

int densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)

float xdpi = dm.xdpi;

float ydpi = dm.ydpi;

Log.e(TAG + " DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);

Log.e(TAG + " DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);

screenWidth = dm.widthPixels; // 屏幕宽(像素,如:480px)

screenHeight = dm.heightPixels; // 屏幕高(像素,如:800px)

Log.e(TAG + " DisplayMetrics(111)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);

// 获取屏幕密度(方法3)

dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)

densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320)

xdpi = dm.xdpi;

ydpi = dm.ydpi;

Log.e(TAG + " DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);

Log.e(TAG + " DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);

int screenWidthDip = dm.widthPixels; // 屏幕宽(dip,如:320dip)

int screenHeightDip = dm.heightPixels; // 屏幕宽(dip,如:533dip)

Log.e(TAG + " DisplayMetrics(222)", "screenWidthDip=" + screenWidthDip + "; screenHeightDip=" + screenHeightDip);

screenWidth = (int)(dm.widthPixels * density + 0.5f); // 屏幕宽(px,如:480px)

screenHeight = (int)(dm.heightPixels * density + 0.5f); // 屏幕高(px,如:800px)

Log.e(TAG + " DisplayMetrics(222)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);

时间: 2024-08-06 21:32:13

android 获取屏幕宽度和高度的相关文章

【转】android获取屏幕宽度和高度

原文网址:http://www.cnblogs.com/howlaa/p/4123186.html 1. WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); 2. WindowM

android获取屏幕宽度和高度

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 = w

Android获取屏幕宽度高度

方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); 方法二: WindowManager wm1 = this.getWindowManager(); int width1 = wm1

Android中dip(dp)与px之间单位转换 dip2px dp转px 无context算法(以及获取获取屏幕宽度和高度)

废话不多说直接上代码: 1.dip2px  dp转px  无context算法 public static int px2dip(int pxValue) { final float scale = Resources.getSystem().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } public static float dip2px(float dipValue) { final float s

获取屏幕宽度、浏览器宽度、网页高度,宽度信息

视图模式innerWidth/innerHeight属性(窗口大小) window.innerHeightwindow.innerWidth window.pageYOffset:Netscape属性,指的是滚动条顶部到网页顶部的距离 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.bod

android自定义控件的最大高度MaxHeightView

android中部分控件具有maxHeight功能,如button,但是对于ViewGroup类的控件,没有此属性,那么,如何为ViewGroup添加一个最大高度的属性呢?其实很简单,主要就是使用onMeasure()函数,在函数中控制高度即可. 先看下效果图: 这是一个dialog,dialog中添加了共有17个button,如果不使用最大高度可控的view,则体验效果不好,可能会完全遮住后边的背景. java代码实现如下: 1 package cn.carbs.maxheightview;

Android如何获取系统高度、标题栏和状态栏高度

在android应用中,有时需要计算个View的位置,导致需要计算状态栏高度,标题栏高度等信息.为以后方便,在此做个简单记录. 晒代码前先了解一下android屏幕区域的划分,如下图(该图引用自此文http://www.iteye.com/topic/828830 ) 1. 屏幕区域的获取 [java] view plaincopy activity.getWindowManager().getDefaultDisplay(); 2.应用区域的获取 [java] view plaincopy R

Android 计算view 的高度

上午在做一个QuickAction里嵌套一个ListView,在Demo运行没事,结果引入到我的项目里,发现我先让它在Button上面,结果是无视那个Button的高度,这很明显,就是那个Button的高度计算不正确. 看了下别人的建议,大概分为三类: 参数设置: ? mRootView.measure(0, 0); 在draw之前回调: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ViewTreeObserver vto =view.getViewTreeObs

Android 让GridView的高度为Wrap_content根据内容自适应高度

From:http://www.jayway.com/2012/10/04/how-to-make-the-height-of-a-gridview-wrap-its-content/ 如果把GridView放到一个垂直方向滚动的布局中,设置其高度属性为 wrap_content ,则该GridView的高度只有一行内容,其他内容通过滚动来显示. 如果你想让该GridView的高度为所有行内容所占用的实际高度,则可以通过覆写GridView的 onMeasure 函数来修改布局参数: packa