我想删除对话框外的透明深色背景。
我尝试过:
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);
答案 0 :(得分:24)
除了chuky的回答;
如果你的minSdkVersion值大于或等于14,你可以使用setDimAmount()方法。
dialog.getWindow().setDimAmount(float amount);
根据reference;
金额新的昏暗金额,从无昏暗的0到完全昏暗的1。
或
As stated previously,你可以清除窗口标志。
答案 1 :(得分:15)
您的问题已经得到解答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">
答案 2 :(得分:12)
希望这会对你有帮助......
dialog.getWindow().getDecorView().setBackgroundResource(android.R.color.transparent);
dialog.getWindow().setDimAmount(0.0f);
dialog.show();
答案 3 :(得分:0)
这对我不起作用
<item name="android:backgroundDimEnabled">false</item>
我使用了背景暗淡数量而不是启用了背景暗淡
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.DoNotDim" parent="android:Theme">
<item name="android:backgroundDimAmount">0</item>
</style>
</resources>