DisplayMetrics dm = new DisplayMetrics();  
dm = mContext.getResources().getDisplayMetrics();  
  
mScreenWidth  = dm.widthPixels;
mScreenHeight = dm.heightPixels;我电视的宽高是1920*1080
代码获取的是1280*720
什么原因?Javaandroid

解决方案 »

  1.   

    电视?
    官方说请这样用:
    To access the DisplayMetrics members, initialize an object like this:DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
      

  2.   

    android机顶盒这种试过了,还是一样,这与什么有关呢?
      

  3.   

    电视是最高分辨率为1920*1080,但是是你的系统中设置的可能不是1920*1080这个分辨率。
    目前的Android电视机或者机顶盒,大多都有分辨率设置,可以查看下
      

  4.   


    曾经做机顶盒项目的时候遇到过这种问题,当时机顶盒厂商给的回复是因为机顶盒一开始自己有个默认的分辨率,然后插上HDMI线后,能够获取到屏幕(电视机)的分辨率,此时机顶盒会按照电视机的分辨率进行调整。所以有时候开机的时候,会看到界面有分辨率的调整。 如果不能从电视机获取分辨率或者分辨率错误,就会出现该问题。
      

  5.   

    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    正确获取分辨率确实是这样子的,是用他getWindowManager(),而不是上下文context