Android获取屏幕宽度和高度
2015-07-27 11:57
375 查看
在上一篇的仿知乎进度条中,因为在调用ondraw前getwidth方法返回的是0,所以我直接将width设为1080了,而且为了保证一开始的滑块位置的正确性,在初始化线程的时候加入了delay,这样让onDraw先调用,缺点就在于体验不好以及屏幕的适配问题,今天偶然看别人的源码时发现了可以获取屏幕高宽的方法,那么知乎进度条的问题就解决了。
上面的图第一个是竖屏,第二个是横屏,在height上并不是显示的1920而是1776,说明计算的宽高不是整个屏幕而是app的内容宽高。
然后我们加上沉浸式的效果,但是发现宽高和上面的一样,结论就是沉浸式也无法变成1920*1080
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
相关文章推荐
- android 资源文件数组(string, int)
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- 【Android】在不同的线程池中执行AsyncTask
- Android Dev Tools官网地址:www.androiddevtools.cn
- 2015年Android开发新技术
- android 动画步骤
- Android---keycode值以及对应名称
- Android安全机制解析与应用实践
- Android调用web service服务
- 【Android应用开发技术:用户界面】用户界面布局技巧
- Android之——自定义TextView
- [置顶] Android L SurfaceFlinger dump信息全解(1)
- as插件Parcelable介绍
- Android 绘图 cache setDrawingCacheEnabled(boolean flag)
- 【第五篇】androidEventbus源代码阅读和分析之unregister代码分析
- Android启动页面禁止退出 防止多次点击back键
- Android Studio如何导入Library工程,并实时更新
- Android调用WebService系列之KSoap2对象解析
- 【进阶android】Volley源码分析——Volley的流程
- Android Handler 异步消息处理机制的妙用 创建强大的图片加载类