Есть ли способ удалить фон AlertDialog? - PullRequest
0 голосов
/ 27 июня 2018

Я пытаюсь изменить цвет фона Android AlertDialog.

Каждый пост, который я видел, касается изменения цвета AlertDialog, но не фона позади.

Любая помощь будет оценена.

enter image description here

Ответы [ 3 ]

0 голосов
/ 27 июня 2018
<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">@color/myColor</item>

и затем примените его в конструкторе Builder:

AlertDialog alertDialog = new AlertDialog.Builder(getContext(), R.style.MyDialogTheme)
    ...
    .create();

для получения дополнительной информации см. см. Это сообщение

0 голосов
/ 27 июня 2018

Есть один способ сделать то, что вы просили, но это не очень хорошее решение

Сначала установите настраиваемую тему диалога следующим образом.

styles.xml

    <style name="CustomDialogTheme" parent="android:Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

CustomDialog.java

Примените тему и создайте представление custom_dialog следующим образом.

 public HTCustomDialog(Context context) {
    super(context, R.style.CustomDialogTheme);
    setContentView(R.layout.custom_dialog);
}

custom_dialog.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/main_solid_80">

    <RelativeLayout
        android:id="@+id/dialog_root"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:background="@drawable/bg_popup"
        android:padding="16dp">

</RelativeLayout>

Теперь, когда представление CustomDialog представляет собой полноэкранный режим, задайте для фона корневого макета любой цвет, который вам нужен.

enter image description here

Я получил этот ответ от здесь посмотрите.

0 голосов
/ 27 июня 2018

Вы можете уменьшить тусклую сумму

dialog.getWindow().setDimAmount(0.5f);

Чтобы получить цвет фона, необходимо создать собственный диалог оповещения.

...