2012-03-13 76 views
1

我已经为android 7 incs tablet实现了一个应用程序。在我的应用程序中,我在layout-land和layout-port目录中使用了两种类型的布局,它们具有相同的xml名称和不同的设计。当我将肖像更改为景观时,如何获得景观视图?

在这个应用程序中,平板电脑视图默认为横向模式,当我改变模拟器的方向时,视图从layout-port调用肖像xml,如果再次改变模拟器方向,它不会从布局 - 土地。

我已经实现了我的应用程序如下:

if(wm.getDefaultDisplay().getOrientation()==1){ 
     //portrait view code 
     } 

     else{ 
      //landscape view code 
       } 
从上面的逻辑,我可以得到从景观为纵向视图

,但我不能得到相同的观点纵向到横向。

当我将风景改为风景风景时,如何获得我的土地风景视图?

请任何身体帮我吗?

+0

也许有些错误,当你膨胀的布局?通常,如果您正确实施碎片,则不需要getOrientation()函数。请发布更多的代码! – ramdroid 2012-03-13 09:13:54

回答

2

这似乎是模拟器的问题。您不必从代码实现方向更改,因为系统默认具有此行为。只需将您的xml文件放在layout-land和layout-port中,并在真实的设备上工作就可以了。

的错误已被报道,你可以看到这个here

1

您可以使用此代码:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 

也许还可以设置这在您的清单下活动:

android:configChanges = "orientation" 
+0

我应该在onCreate()还是在counditon上使用上述条件? – 2012-03-13 09:15:31

+0

我会使用if条件,那么你对它有更多的控制。 – Bigflow 2012-03-13 09:25:42