2012-01-06 17 views
6

Tôi đang sử dụng: android:theme="@android:style/Theme.Translucent.NoTitleBar"Theme.Translucent không thành công trên ICS

kết hợp với: getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

để có được một cách minh bạch hiệu quả nền mờ đẹp, giả lập một phong cách hộp thoại.

Điều này hoạt động tốt trên 2,3 và xuống, nhưng nó là một màu đồng nhất (đọc không minh bạch) trên các thiết bị chạy ICS/3.0 trở lên. Tôi biết họ đã giới thiệu một chủ đề holo và có vẻ như không phải là một chủ đề Theme.Holo.Translucent cụ thể. Bất kỳ ý tưởng về làm thế nào để có được một nền mờ trên cả ICS và cũ hơn, tôi không phản đối việc sử dụng các chủ đề riêng biệt được định nghĩa trong các giá trị-v11.

+0

Không giống như thế này sẽ giải quyết vấn đề của bạn, nhưng trong trường hợp bạn bị mất nó: [Holo ở khắp mọi nơi] (http://android-developers.blogspot.com/2012/01/holo-everywhere.html) – tidbeck

+0

Bạn có thể chỉ định thiết bị nào đang chạy không? Theme.Translucent.NoTitleBar có hoạt động cho bạn trong một dự án Android tối thiểu mới được tạo không? Android không: phần cứngĐược củng cố đúng/sai tạo nên sự khác biệt? Các kết hợp thuộc tính khác nhau trong thẻ có tạo sự khác biệt (tức là các chế độ tương thích khác nhau) không? –

+1

Chỉ cần tạo một dự án mới với tệp kê khai tối thiểu (được tạo tự động) và thêm chủ đề. Hoạt động trên các thiết bị 2,3 của tôi nhưng không hoạt động trên Galaxy Nexus. android: hardwareAccelerated dường như không ảnh hưởng đến nó hoặc sử dụng-sdk. – sgarman

Trả lời

3

Sử dụng

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0)); 

hoặc mở rộng Theme.Translucent.NoTitleBar và thêm

<item name="android:windowBackground">@android:color/transparent</item> 
+0

Tôi đã có thể nhận được điều này để làm việc bằng cách sử dụng các chủ đề ActionbarSherlock cập nhật. – sgarman

1

Có vẻ như họ bị phản đối mờ, ít nhất là với FLAG_BLUR_BEHIND:

public static int thức FLAG_BLUR_BEHIND

liên tục này bị phản đối. Làm mờ không còn được hỗ trợ.

+0

Tìm kiếm tốt, nhưng ngay cả khi tôi xóa nội dung đó, tôi vẫn không nhận được sự minh bạch từ chủ đề. Vì vậy, trong khi đây là một mẹo tốt, nó không thực sự giải quyết vấn đề của tôi: ( – sgarman