我想摆脱对话框中的边框,让它看起来绝对透明,好像图像位于屏幕顶部。
我的对话框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"/>
答案 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%负责绘制对话框的所有内容。