Как убрать черный фон из диалогового окна в Android. Рис показывает проблему.
final Dialog dialog = new Dialog(Screen1.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.themechanger);
android
android-dialog
Программист
источник
источник
Ответы:
Добавьте этот код
Или этот вместо этого:
источник
dialog.getWindow().setBackgroundDrawable(new ColorDrawableResource(R.color.transparent));
dialog.getWindow().setBackgroundDrawableResource(R.color.transparent);
использовать в Java
Я надеюсь помочь вам!
источник
Я столкнулся с более простой проблемой, и решение, которое я нашел, заключалось в применении прозрачной темы bachground. Напишите эти строки в ваших стилях
А потом добавить
в вашем основном файле манифеста, внутри блока действия диалога.
Плюс в вашем диалоге активность XML установлена
источник
Каким-то образом решение Zacharias не сработало для меня, поэтому я использовал следующую тему для решения этой проблемы ...
Можно установить эту тему для диалога, как показано ниже
Наслаждаться!!
источник
Вы можете использовать:
method.And ниже это документ:
источник
Всплывающее диалоговое окно заполняет по умолчанию черный фоновый цвет или цвет темы, поэтому необходимо установить
TRANSPARENT
фон в диалоговом окне. Попробуйте следующий код: -источник
если вы хотите уничтожить темный фон диалога, используйте этот
источник
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Objects.requireNonNull(alertDialog.getWindow()).setDimAmount(0); }
Одна проблема, которую я нашел со всеми существующими ответами, состоит в том, что поля не сохранились. Это потому что они все перекрывают
android:windowBackground
атрибут, отвечающий за поля, сплошным цветом. Тем не менее, я немного покопался в Android SDK и нашел фон окна по умолчанию для рисования, и немного изменил его, чтобы позволить прозрачные диалоги.Сначала скопируйте /platforms/android-22/data/res/drawable/dialog_background_material.xml в свой проект. Или просто скопируйте эти строки в новый файл:
Обратите внимание, что
android:color
установлено в?attr/colorBackground
. Это по умолчанию сплошной серый / белый, который вы видите. Чтобы цвет, определенный вandroid:background
вашем пользовательском стиле, был прозрачным и показывал прозрачность, все, что нам нужно сделать, - это изменить?attr/colorBackground
на@android:color/transparent
. Теперь это будет выглядеть так:После этого перейдите к своей теме и добавьте следующее:
Убедитесь, что вы заменили
newly_created_background_name
фактическим именем только что созданного рисованного файла, и заменитеsome_transparent_color
на желаемый прозрачный фон.После этого все, что нам нужно сделать, это установить тему. Используйте это при создании
AlertDialog.Builder
:Затем просто создайте, создайте и покажите диалог как обычно!
источник
То же решение, что и в zGnep, но с использованием xml:
источник
Попробуйте это в своем коде:
это определенно будет работать ... в моем случае ...! мой друг
источник
Это то, что я сделал, чтобы добиться прозрачности с AlertDialog.
Создан собственный стиль:
И затем создайте диалог с:
источник
В моем случае решение работает так:
И, кроме того, в Xml пользовательского диалога:
источник
используйте этот код, он работает со мной:
источник
Установите код стиля в стиле
И просто измените ложь на истину ниже линии
Это затемнит ваш фон.
источник
Внимание: не используйте конструктор для изменения фона.
изменить на
При использовании Dialog.builder в нем нет
getWindow()
опций.источник
это мой способ, вы можете попробовать!
источник
Если вы расширили
DialogFrament
класс, вы можете установить тему с помощью:А затем создайте собственную тему в своем файле styles.xml (параметры см. В ответе @ LongLv)
Не забудьте добавить,
<item name="android:windowCloseOnTouchOutside">true</item>
если вы хотите, чтобы диалог закрывался, если пользователь прикасается к окну.источник
Для тех, кто использует пользовательский диалог с пользовательским классом, вам нужно изменить прозрачность в классе, добавив эту строку в onCreate ():
источник
dialog.getWindow (). setBackgroundDrawable (new ColorDrawable (ContextCompat.getColor (ctx, android.R.color.transparent)));
источник
Убедитесь, что
R.layout.themechanger
у вас нет цвета фона, потому что по умолчанию диалог имеет цвет фона по умолчанию.Вы также должны добавить
dialog.getWindow().setBackgroundDrawable(newColorDrawable(Color.TRANSPARENT));
И наконец
источник