首页 > 解决方案 > Android 4.4.4 (KitKat) 上 DialogFragment 的暗淡背景

问题描述

我有一个 DialogFragment (from android.support.v4.app.DialogFragment),其中背后的活动在我的 Android 5.1 (Lollipop) 上完全变暗。但是在 Kitkat 上,调光不起作用。

我尝试了以下解决方案但失败了:

  1. 自定义对话框的Android暗淡背景
  2. 具有清晰背景的 DialogFragment(未变暗)

我错过了什么吗?TIA。

编辑1:

这是我的onCreateDialog方法DialogFragment

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View layout = inflater.inflate(R.layout.fragment_dialog, null);
    ...
    // set textfield listeners here
    ...
    builder.setView(layout);
    return builder.create();
}

这是我的DialogFragment布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">
    ...
</LinearLayout>

如您所见,我在布局 xml 中没有做任何特别的事情。

这就是我调用对话框的方式:

MyDialogFragment dialog = new MyDialogFragment();
dialog.setListener(this);
dialog.setCallingActivity(this);
FragmentManager fm = getSupportFragmentManager();
dialog.show(fm, "MyDialogFragment");

标签: androidandroid-support-library

解决方案


我无法解决 Android 4.4.4 上的暗淡问题。我得到的最好结果来自这个对话框:

在此处输入图像描述

进入这个带有海拔的更好的对话框

在此处输入图像描述

为此,只需使用以下导入DialogFragment

import android.app.DialogFragment;

最后,当然,使用正确的FragmentManager

FragmentManager fm = getFragmentManager();

干杯!


推荐阅读