2012-10-27 58 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> 
相關問題