2012-03-09 25 views
3

我希望對話框背後的背景模糊。我用這個代碼,但它的黑色出局整個背景,而不是模糊使用對話框時的背景模糊

dialog = new Dialog(context,R.style.Theme_Dialog_Translucent); 

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
+0

你願意,你可以告訴我,我無法理解你的問題 – 2012-03-09 10:14:07

回答

1

我想你需要res - values文件夾下的自定義樣式來創建styles.xml

<style name="Theme.D1NoTitleDim" parent="android:style/Theme.Translucent"> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:backgroundDimEnabled">true</item> 
    <item name="android:background">@android:color/transparent</item>   
</style> 

,然後用這種風格與你的對話

dialog = new Dialog(context,style); 
1

嘗試像這樣代替:

WindowManager.LayoutParams lp = dialog.getWindow().getAttributes(); 
lp.dimAmount=0.0f; 
dialog.getWindow().setAttributes(lp); 
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
+0

還是一樣......我想它,因爲FLAG_BLUR_BEHIND不贊成什麼?有什麼替代方法嗎? – user1169079 2012-03-09 10:10:43

+0

不是直接來自SDK,至少我知道。我想你可以創建一個自定義的背景,給出一個「模糊」的效果,並使用它。 – adneal 2012-03-09 10:13:03