这是我尝试过的:
public AlertDialogEx(final Context context, View lytCustom)
{
// Set your theme here
super(context, android.R.style.Theme_Translucent);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// This is the layout XML file that describes your Dialog layout
this.setView(lytCustom);
// this.setContentView(lytCustom);
}
并没有摆脱那个黑色背景:
使用setContentView()
代替setView()
会导致臭名昭着的“requestFeature()必须在添加内容之前调用”消息,不幸的是没有明显的原因。我怎样才能实现目标?
答案 0 :(得分:0)
您应该在xml布局文件中定义对话框的背景/ 像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?windowBackground"
android:orientation="vertical" >
.........................
body of your dialog
...........................
</LinearLayout>
或者你可以这样做programaticaly
view.setBackgroundColor(color)
答案 1 :(得分:0)
使用常规全屏Activity而不是使用主题@android:Alert / Theme.Translucent.NoTitleBar的AlertDialog结束,并且有很多透明背景。