android对话框透明

时间:2011-05-19 13:04:16

标签: android

我想摆脱对话框中的边框,让它看起来绝对透明,好像图像位于屏幕顶部。

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"/>

6 个答案:

答案 0 :(得分:96)

尝试以下代码

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

答案 1 :(得分:63)

试试这个:

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

答案 2 :(得分:19)

要提供半透明效果,比如50%不透明度,请使用:

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

'130'可以更改(0-255)以实现所需的不透明度。

答案 3 :(得分:10)

试试这个: -

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();

答案 4 :(得分:1)

对于API 11 +

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

答案 5 :(得分:0)

最简单的方法是在DialogFragment的onCreate()方法中调用

setStyle(DialogFragment.STYLE_NO_FRAME, 0);

如果你在onCreateView中返回的视图没有指定背景,那么对话框的背景将只是透明的。

为什么呢? DialogFragment.STYLE_NO_FRAME表示操作系统不会在对话框的窗口中执行任何绘图,并且您的视图100%负责绘制对话框的所有内容。