Как удалить прозрачный темный фон за пределами диалогового окна
Я хочу удалить прозрачный темный backgrond вне диалогового окна.
![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);
Ответы
Ответ 1
На ваш вопрос уже был дан ответ здесь
Код по ссылке:
Добавьте это в свои 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
В дополнение к чуккому ответу;
Если значение minSdkVersion больше или равно 14, вы можете использовать метод setDimAmount().
dialog.getWindow().setDimAmount(float amount);
Согласно reference;
amount Новая туманная величина, от 0 для не тусклой до 1 для полного эффекта.
или
Как указано ранее, вы можете очистить флаг окна.
Ответ 3
Надеюсь, это поможет вам...
dialog.getWindow().getDecorView().setBackgroundResource(android.R.color.transparent);
dialog.getWindow().setDimAmount(0.0f);
dialog.show();
Ответ 4
Это не сработало для меня
<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>