android对话框透明

我想摆脱我的对话框中的边框,使其看起来绝对透明,就好像图像是在屏幕的顶部。

在这里输入图像描述

我的对话框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"/> 

尝试下面的代码

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

尝试这个:

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

为了给半透明的效果,说50%的不透明度,使用:

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

'130'可以被改变(0-255)以达到所希望的不透明度。

尝试这个:-

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

对于API 11+

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

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

 setStyle(DialogFragment.STYLE_NO_FRAME, 0); 

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

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