当前位置: 代码迷 >> Android >> 获取银屏宽高
  详细解决方案

获取银屏宽高

热度:10   发布时间:2016-05-01 10:45:42.0
获取屏幕宽高

                DisplayMetrics dm = new DisplayMetrics();  
dm = mContext.getResources().getDisplayMetrics();  
  
mScreenWidth  = dm.widthPixels;
mScreenHeight = dm.heightPixels;

我电视的宽高是1920*1080
代码获取的是1280*720
什么原因?
Java android

------解决方案--------------------
电视?
官方说请这样用:
To access the DisplayMetrics members, initialize an object like this:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

------解决方案--------------------
我记得还有一种获取的方式,是4.0系统的才能用的,你可以搜搜
------解决方案--------------------
电视是最高分辨率为1920*1080,但是是你的系统中设置的可能不是1920*1080这个分辨率。
目前的Android电视机或者机顶盒,大多都有分辨率设置,可以查看下
------解决方案--------------------
只识别1280*720?然后就只输出了1280*720规格的图像?
------解决方案--------------------
引用:
引用:电视是最高分辨率为1920*1080,但是是你的系统中设置的可能不是1920*1080这个分辨率。
目前的Android电视机或者机顶盒,大多都有分辨率设置,可以查看下
机顶盒的分辨率已经试过调整,但是还是那样,不知道会 不会与电视的分辨率有关,准备试试看


曾经做机顶盒项目的时候遇到过这种问题,当时机顶盒厂商给的回复是因为机顶盒一开始自己有个默认的分辨率,然后插上HDMI线后,能够获取到屏幕(电视机)的分辨率,此时机顶盒会按照电视机的分辨率进行调整。所以有时候开机的时候,会看到界面有分辨率的调整。 如果不能从电视机获取分辨率或者分辨率错误,就会出现该问题。
------解决方案--------------------
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
正确获取分辨率确实是这样子的,是用他getWindowManager(),而不是上下文context
  相关解决方案