我希望使用完全自定义的片段的Android对话框:不包括任何平台对话框主题片段.例如,像这样:

我该怎么做呢?
我有一个对话片段,看起来像那样.

AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
Run Code Online (Sandbox Code Playgroud)
此代码使背景半透明.但我仍然在底部有一个白色的部分.我想摆脱白色只有半透明背景
我已经尝试了很多我在其他帖子中看到过的东西.
我不知道我必须在DialogFragment,AlertDialog和LinearLayout之间改变什么对象.
它可能不是LinearLayout,因为当我增加边距时,没有任何东西在移动.
这是我的代码:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// setStyle(DialogFragment.STYLE_NORMAL, 0);
// setStyle(STYLE_NO_FRAME, R.style.CustomDialog);
// setStyle(STYLE_NO_FRAME, 0);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(
R.layout.share_or_die, null);
AlertDialog ad = builder.create();
Drawable d = new ColorDrawable(Color.BLACK);
d.setAlpha(130);
ad.getWindow().setBackgroundDrawable(d);
ad.setCanceledOnTouchOutside(true);
ad.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
ad.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
return ad;
}
Run Code Online (Sandbox Code Playgroud)
我只是在用户单击后退按钮时在mainActivity中调用它:
@Override
public void onBackPressed() {
if (isUserConnected && !hasShared) {
shareOnExitDialog = new ShareOnExitDialog();
shareOnExitDialog.setCancelable(true);
shareOnExitDialog.show(getSupportFragmentManager(), "Exit");
} …Run Code Online (Sandbox Code Playgroud)