Android 4.4.4 (KitKat) 上 DialogFragment 的昏暗背景
Dim background of DialogFragment on Android 4.4.4 (KitKat)
我有一个 DialogFragment(来自 android.support.v4.app.DialogFragment
),其中 activity 在我的 Android 5.1 (Lollipop) 上完美地变暗。但是在 Kitkat 上,调光不起作用。
我尝试了以下解决方案但失败了:
- Android Dim Background of Custom Dialog
- 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");
我无法解决 Android 4.4.4 上的暗淡问题。我得到的最好结果来自这个对话框:
进入这个带有提升的更好的对话框
为此,只需使用 DialogFragment
:
的导入
import android.app.DialogFragment;
最后当然要使用合适的FragmentManager
:
FragmentManager fm = getFragmentManager();
干杯!
我有一个 DialogFragment(来自 android.support.v4.app.DialogFragment
),其中 activity 在我的 Android 5.1 (Lollipop) 上完美地变暗。但是在 Kitkat 上,调光不起作用。
我尝试了以下解决方案但失败了:
- Android Dim Background of Custom Dialog
- 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");
我无法解决 Android 4.4.4 上的暗淡问题。我得到的最好结果来自这个对话框:
进入这个带有提升的更好的对话框
为此,只需使用 DialogFragment
:
import android.app.DialogFragment;
最后当然要使用合适的FragmentManager
:
FragmentManager fm = getFragmentManager();
干杯!