2011-03-11 40 views
2

我认为这是一个简单的问题,但我无法在任何地方找到答案!仿真器的内置应用程序无法检测到方向更改

在我的模拟器(Windows 7上的SDK 9)上,很多内置应用程序无法正确响应方向更改。它们包括:浏览器(!),闹钟,计算器,Api演示。他们可以正确切换到横向模式,但是当模拟器转回到纵向时,它们将保持横向模式。但是,其他一些内置应用程序也很好,它们是主屏幕,启动器和电话拨号程序。

我尝试以下,看看发生了什么事情:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    .... 
    boolean bLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; 
    .... 
} 

我看到发生了什么:当仿真器转向landsacpe模式,它返回正确的结果。但是当模拟器回头时,它仍然表示它处于横向模式!

只是我吗?有人对此有所了解吗?谢谢,一如既往!

+0

一个愚蠢的问题,但多久你切换定向向后之后等待?有时模拟器需要一段时间才能将布局渲染为新的方向。至少这发生在我身上。 – Timo 2011-03-11 21:45:24

+0

@Timo好吧,我不会叫你愚蠢的回来,这只是让我......但有两件事要回答:如果我看到他们转向风景,我不会等待足够长的时间让他们回头?此外,我说我已经通过编程检查过,如果onCreate()被调用,可以轻易推断出等待时间足够长。 – wwyt 2011-03-11 22:50:15

回答

2

这是模拟器已知的错误。这不会发生在真实的设备上,与任何这些应用程序的编码方式无关。

的错误书面记录是here

更多的一些信息看here

+0

非常感谢你! – wwyt 2011-03-12 18:32:37