我的用例是爲橫向攝像機預覽編寫覆蓋控制器活動。我按照一些教程的指導編寫了透明主題。活動應該是透明的,但有黑色背景
所以我RES /價值/ style.xml看起來是這樣的:
<resources>
<style name="Theme" parent="android:Theme" />
<style name="Theme.Transparent">
<item name="android:windowBackground">@drawable/transparent_background</item>
</style>
<drawable name="transparent_background">#00000000</drawable>
</resources>
活動片段:
<activity android:name=".CameraPreview"
android:label="Camera"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Controlls"
android:label="Controlls"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent">
</activity>
當我開始從我的根系活力這一活動,佈局得到正確繪製,但背景保持黑色。我嘗試使用@android:style/Theme.Translucent
來代替,但是這個主題繼承了調用活動(風景)的方向,那不是我想要的。
編輯:
應用拿着相機預覽設置爲橫向視圖,因爲它不會在縱向方向正確顯示預覽。 (請參閱old google bug report)
我想做的是在相機表面固定器前放置一個用戶交互界面的獨立活動(此活動應該設置爲「肖像」,或者更好地設置爲「傳感器」)
@android:風格/ Theme.Translucent是透明的,但將視圖修復爲基礎活動的方向(我的橫向視圖相機預覽)。這個觀點應該是肖像。 – 2010-04-22 08:17:15
這與您的背景無關。如果您不希望自己的活動改變方向,那麼您的清單中的其他方式(如android:screenOrientation =「portrait」)就可以處理該方向。 – CommonsWare 2010-04-22 10:36:46
對不起,我沒有提到它,但那正是我所做的。 (我將用我的清單編輯帖子)。感謝您的建議。 – 2010-04-22 19:12:45