【发布时间】:2018-11-14 16:58:08
【问题描述】:
我有一个 DialogFragment(来自 android.support.v4.app.DialogFragment),在我的 Android 5.1(Lollipop)上,其背后的活动完全变暗。但是在 Kitkat 上,调光不起作用。
我尝试了以下解决方案,但都失败了:
我错过了什么吗? 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