Trường hợp sử dụng của tôi đang viết hoạt động của trình điều khiển lớp phủ cho bản xem trước máy ảnh ngang. Tôi đã làm theo hướng dẫn từ một vài hướng dẫn để viết một chủ đề trong suốt.Hoạt động phải trong suốt, nhưng có nền màu đen
Vì vậy res/values của tôi/style.xml trông như thế này:
<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>
Đoạn hoạt động:
<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>
Khi tôi bắt đầu hoạt động này từ hoạt động gốc của tôi, bố trí được rút ra một cách chính xác , nhưng nền vẫn màu đen. Tôi đã cố gắng sử dụng @android:style/Theme.Translucent
để thay thế, nhưng Chủ đề này kế thừa định hướng từ hoạt động gọi điện (phong cảnh) và đó không phải là điều tôi muốn.
Edit:
Việc áp dụng giữ bản xem trước camera được thiết lập để xem phong cảnh vì nó không hiển thị xem trước một cách chính xác theo hướng dọc. (xem old google bug report)
Điều tôi muốn làm là đặt hoạt động độc lập cho giao diện tương tác người dùng ở phía trước mặt giữ máy ảnh (hoạt động này phải được đặt thành 'chân dung' hoặc thậm chí tốt hơn để 'cảm biến')
@android của nó: phong cách/Theme.Translucent là minh bạch, nhưng sửa lại chế độ xem theo hướng của hoạt động cơ bản (xem trước máy ảnh xem phong cảnh của tôi). Chế độ xem này phải là hình chân dung. –
Điều đó không liên quan gì đến nền của bạn. Nếu bạn không muốn hoạt động của mình thay đổi hướng, điều đó được xử lý theo các cách khác, chẳng hạn như 'android: screenOrientation =" portrait "' trong tệp kê khai của bạn. – CommonsWare
Xin lỗi, tôi đã không đề cập đến nó, nhưng đó là chính xác những gì tôi đã làm. (Tôi sẽ chỉnh sửa bài đăng với tệp kê khai của tôi). Cảm ơn lời khuyên của bạn cho đến nay. –