这是我自定义对话框的代码:
public class DialogBrightness extends AppCompatDialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.layout_dialog, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
/*Build and create the dialog here*/
}
}
我按照其他答案的指示首先创建了这个名为 dialog_bg 的可绘制 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="#fff5ee"/>
<corners
android:radius="30dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
然后将其设置为layout_dialog XML文件的背景:
android:background="@drawable/dialog_bg"
但是我无法完成最后一步,即将对话框的根视图设置为透明:
dialogBrightness.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
因为没有getWindow()函数。
当他们说根视图时,他们指的是我在上面的填充函数中设置为null的那个吗?