2012-10-27 45 views
2

我创建了一种新的样式来将背景设置为透明,但由于某种原因,因为应用程序不会在设备旋转时将布局更改为横向。 我应该在新风格中指定一些东西吗?android:@ Theme.Translucent将方向锁定为肖像?

下面是它的代码:

< style name="Transparent" parent="android:@Theme.Translucent"> 
    < item name="android:windowBackground">@color/background</item> 
</style> 

回答

0

其实我还挺解决它的权利显然取向根据透明背景的情况下,后台程序,因为我一直在在后台启动时测试,我总是只有肖像。

+1

那么,仅仅使用不同的活动背后并不能真正解决问题。如果你在启动器上面有一个活动,那是半透明的,而你想旋转呢? screenOrientation =传感器是一个不好的解决方案,因为它忽略了用户的屏幕锁定。 – Allison

0

只是在清单

<activity 
      android:name=".Ippin_NewActivity" 
      android:configChanges="keyboardHidden|orientation" 
      android:label="@string/app_name" > 
</activity> 
+1

没有变化......貌似安卓@ Theme.Translucent是方向锁定 – SagiLow

+0

HTTP的原因:// stackoverflow.com/questions/2687712/activity-should-be-transparent-but-has-black-background检查出来 –

+0

我实际上有点解决它明显的方向是根据背景的应用程序在透明背景的情况下,因为我保留在后台启动时测试,我总是只有肖像。 – SagiLow

8

虽然您没有指定android:screenOrientation为活动,但Android使用 "unspecified"默认值,这意味着系统会选择方向。

如果您使用的样式为<item name="android:windowIsTranslucent">true</item>,系统将根据堆栈中基础活动的方向选择方向。所以很难让您的应用程序处于横向模式,因为大多数发射器都固定在肖像上。

只需设置android:screenOrientation="sensor"所有半透明活动,以迫使其自主选择方向:

<activity 
    android:name=".SomeActivity" 
    android:screenOrientation="sensor" 
    ...> 
    ... 
</activity> 
相关问题