Как удалить прозрачный темный фон за пределами диалогового окна

Я хочу удалить прозрачный темный 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>