如何检测BlackBerry设备的“自然”屏幕方向?

时间:2011-11-11 14:39:37

标签: java blackberry

在BlackBerry OS 4.7之前,屏幕只能有一个方向,因此将应用程序调整到屏幕只是屏幕像素宽度,高度。 (在某种程度上,DPI,但那并不重要。)

后来的黑莓机型配备了方向感应器,它们的屏幕可以任意旋转,具体取决于您握住它们的方式。

例如,在BlackBerry 9800(OS 6.0)上,我可以检查方向NORTH。

但考虑到我从屏幕上看不出9800在其短边上有黑莓标识,我的应用程序将如何知道呢?

另一种提出问题的方法是:黑色徽标是短边还是长边?

另一种方式:设备自然是人像还是风景设备?

switch(Display.getOrientation()) {
       case Display.ORIENTATION_LANDSCAPE:
          Dialog.alert("Screen orientation is landscape"); break;
       case Display.ORIENTATION_PORTRAIT:
          Dialog.alert("Screen orientation is portrait"); break;
       case Display.ORIENTATION_SQUARE:
          Dialog.alert("Screen orientation is square"); break;
       default:
          Dialog.alert("Screen orientation is not known"); break;
}

仅检查当前方向,例如,如果您将设备倒置,则不会说明。

1 个答案:

答案 0 :(得分:3)