Андроидный диалог прозрачный

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

enter image description here

Мой диалог xml -

<?xml version="1.0" encoding="utf-8"?>

<ImageView android:id="@+id/ImageView01"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_centerHorizontal="true" android:visibility="invisible"/>

Ответ 1

Попробуйте ввести код

Dialog mDialog = new Dialog(mContext, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

Ответ 2

попробуйте следующее:

mDialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));

Ответ 3

Чтобы получить полупрозрачный эффект, например, непрозрачность на 50%, используйте:

Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
mDialog.getWindow().setBackgroundDrawable(d);

'130' можно изменить (0-255), чтобы получить желаемую непрозрачность.

Ответ 4

попробуйте следующее: -

final Dialog dialog = new Dialog(this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.setContentView(R.layout.splash);
dialog.show();

Ответ 5

Для API 11 +

Dialog mDialog = new Dialog(mContext, android.R.style.Theme_Holo_Light_Panel);

Ответ 6

Самый простой способ сделать это в том, что в вашем методе DialogFragment onCreate() вызовите

setStyle(DialogFragment.STYLE_NO_FRAME, 0);

И если представление, которое вы вернули в onCreateView, не имеет фона, фон диалога будет просто прозрачным.

Почему? DialogFragment.STYLE_NO_FRAME означает, что ОС не будет делать какой-либо чертеж в окне диалога, и ваше представление на 100% отвечает за рисование всего о диалоге.