除了不推荐使用Display.getOrientation()之外,Display.getRotation()和Display.getOrientation()有什么区别?

时间:2011-06-20 22:30:42

标签: android screen orientation

除了不推荐使用Display.getOrientation()之外,Display.getRotation()和Display.getOrientation()有什么区别?

两者都返回int等于Surface.ROTATION_0,Surface.ROTATION_90,Surface.ROTATION_180,Surface.ROTATION_270之一吗?

4 个答案:

答案 0 :(得分:20)

getRotation()只调用不推荐使用的方法getOrientation(),检查source code of class Display。所以似乎只是因为一个更好的名字而被弃用。

答案 1 :(得分:1)

两种方法完全相同,getRotation()只调用getOrientation()。出于这个原因,我在我的应用程序中使用getOrientation()以添加对较低Android级别的支持。我认为没有理由限制我分发我的应用程序的能力,因此它可以有不同的方法名称。因此,我完全同意jap1968。

答案 2 :(得分:0)

答案就像Android文档一样。很多人都有制造商不更新的设备。当应用程序的主要功能在API v1中甚至不需要任何东西(在我的例子中)时,我发现只为具有现代设备的用户创建一个应用程序是无稽之谈。

答案 3 :(得分:-2)

来自Android开发者网站here

  

public int getOrientation()

     

从:API Level 1此方法是   弃用。使用getRotation()

     

返回

     

此显示的方向。

     
     

public int getRotation()

     

自:API Level 8返回   屏幕从它旋转   “自然”的定位。归来了   值可能是Surface.ROTATION_0(没有   旋转),Surface.ROTATION_90,   Surface.ROTATION_180,或   Surface.ROTATION_270。例如,如果   设备有一个自然高的屏幕,   并且用户将其转向了侧面   进入景观方向,   这里返回的值可能是   Surface.ROTATION_90或   Surface.ROTATION_270取决于   方向转了。角度是   绘制图形的旋转   屏幕,相反   物理旋转方向   装置。例如,如果设备   旋转90度   逆时针,以补偿   渲染将旋转90   顺时针方向,因此   这里的返回值将是   Surface.ROTATION_90。