2014-01-31 450 views
5

我想刪除對話框外部的透明黑色背景。如何刪除對話框外部的透明黑色背景

enter image description here

我試着用:

final Dialog dialog = new Dialog(this); 
     dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.WHITE)); 
     this.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.WHITE)); 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     dialog.setContentView(R.layout.spinner_layout); 
     getWindow().getDecorView().setBackgroundResource(android.R.color.transparent); 

回答

7

你的問題已經從鏈路回答here

代碼:

添加到您的styles.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme.DoNotDim" parent="android:Theme"> 
    <item name="android:backgroundDimEnabled">false</item> 
    </style> 
</resources> 

,然後應用主題,你的活動:

<activity android:name=".SampleActivity" android:theme="@style/Theme.DoNotDim"> 
16

除了chuky的回答;

如果您的minSdkVersion值大於或等於14,則可以使用setDimAmount()方法。

dialog.getWindow().setDimAmount(float amount); 

根據reference;

金額新的暗淡量,從0爲無昏暗到1爲暗淡。

As stated previously,可以清除窗口標誌。

5

希望這有助於你...

 dialog.getWindow().getDecorView().setBackgroundResource(android.R.color.transparent); 
     dialog.getWindow().setDimAmount(0.0f); 
     dialog.show();