【问题标题】:Dim background of DialogFragment on Android 4.4.4 (KitKat)Android 4.4.4 (KitKat) 上 DialogFragment 的暗淡背景
【发布时间】:2018-11-14 16:58:08
【问题描述】:

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

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

  1. Android Dim Background of Custom Dialog
  2. DialogFragment with clear background (not dimmed)

我错过了什么吗? 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");

【问题讨论】:

  • 您能否向我们展示您的 XML 布局和至少 DialogFragment 中的 onCreateView 和/或 onCreateDialog 方法,以及如何从活动中调用对话框?
  • 已更新。我在我的任何源代码中都没有做任何特别的事情。这在我的 Lollipop 设备上运行良好。
  • 这看起来很正常。使用相同的代码(减去您的自定义 setListener() setCallingActivty() 调用)确实在运行 KitKat 4.4.2 的平板电脑上显示暗淡的背景。可能特定于 4.4.4 或您的设备特定的 Android 版本。

标签: android android-support-library


【解决方案1】:

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

进入这个带有高度的更好的对话框

为此,只需使用 DialogFragment 的此导入:

import android.app.DialogFragment;

最后当然是使用正确的FragmentManager

FragmentManager fm = getFragmentManager();

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-19
    • 2012-10-07
    • 1970-01-01
    • 2012-11-29
    • 2016-10-08
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多