相关疑难解决方法(0)

如何创建100%自定义DialogFragment

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

屏幕截图

我该怎么做呢?

android xamarin.android

13
推荐指数
2
解决办法
2万
查看次数

无法获得透明的DialogFragment

我有一个对话片段,看起来像那样.

在此输入图像描述

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)

android android-dialogfragment

5
推荐指数
2
解决办法
1万
查看次数