您的位置:首页 > 移动开发 > Android开发

Android获取屏幕宽度和高度

2015-07-27 11:57 375 查看
在上一篇的仿知乎进度条中,因为在调用ondraw前getwidth方法返回的是0,所以我直接将width设为1080了,而且为了保证一开始的滑块位置的正确性,在初始化线程的时候加入了delay,这样让onDraw先调用,缺点就在于体验不好以及屏幕的适配问题,今天偶然看别人的源码时发现了可以获取屏幕高宽的方法,那么知乎进度条的问题就解决了。

DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
		width = displayMetrics.widthPixels;
		height = displayMetrics.heightPixels;
		Log.i("---width", "width:"+width);
		Log.i("---height", "height:"+height);
有这样一个类DisplayMetrics,其中的widthPixels就是屏幕的宽,heightPixels就是屏幕的高,并且在屏幕旋转时宽度和高度会互换。



上面的图第一个是竖屏,第二个是横屏,在height上并不是显示的1920而是1776,说明计算的宽高不是整个屏幕而是app的内容宽高。



然后我们加上沉浸式的效果,但是发现宽高和上面的一样,结论就是沉浸式也无法变成1920*1080
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: