2012-01-06 18 views
6

失敗,我使用的是: android:theme="@android:style/Theme.Translucent.NoTitleBar"Theme.Translucent對ICS

結合: getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

得到一個不錯的透明背景虛化效果,模擬對話的風格。

這對2.3和更高版本非常有用,但在運行ICS/3.0及更高版本的設備上它是純色(讀取不透明)。我知道他們推出了全息主題,似乎並沒有特定的Theme.Holo.Translucent主題。關於如何在ICS和舊版本上獲得半透明背景的任何想法,我並不反對使用values-v11中定義的單獨主題。

+0

看起來不像這將解決您的問題,但如果你錯過了:全息無處不在( http://android-developers.blogspot.com/2012/01/holo-everywhere.html) – tidbeck 2012-01-10 00:42:12

+0

你能指定運行什麼設備嗎? Theme.Translucent.NoTitleBar會在新創建的最小Android項目中爲您工作嗎? android:hardwareAccelerated true/false是否有所作爲? 標記中屬性的各種組合是否有所不同(即不同的兼容模式)? – 2012-01-11 08:30:25

+1

剛做了一個最小清單(自動生成)的新項目並添加了主題。適用於我的2.3設備,但不適用於Galaxy Nexus。 android:hardwareAccelerated似乎沒有影響它或使用sdk。 – sgarman 2012-01-11 19:23:58

回答

3

使用

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

或延長Theme.Translucent.NoTitleBar並添加

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

我能夠通過使用更新的ActionbarSherlock主題得到此工作。 – sgarman 2013-01-04 23:18:20

1

他們似乎過時模糊,至少FLAG_BLUR_BEHIND

公共靜態最終詮釋FLAG_BLUR_BEHIND

這個常數已被棄用。模糊不再被支持。

+0

好的發現,但即使我刪除,我仍然沒有得到主題的透明度。所以雖然這是一個很好的提示,但它實際上並沒有解決我的問題:( – sgarman 2012-01-07 00:46:30