sam*_*mis 21 android background android-dialogfragment
我试图让a的背景DialogFragment完全清楚.
通过将样式项设置android:windowIsFloating为true(默认值),可以DialogFragment显示我想要的样式,但背景非常暗淡.
通过设置android:windowIsFloating为false,我得到了我想要的清晰背景,但DialogFragment可以吹到屏幕的大约95%,只留下一个小小的间隙,你可以看到它覆盖的视图.
我已经尝试了大量的调整,似乎无法覆盖这种行为.
我是否需要使用a PopupWindow来实现所需的效果,或者是否有一些我可以覆盖的样式项?
Chr*_*rry 72
什么工作对我来说是调整WinowManager.LayoutParams中onStart()的的DialogFragment:
@Override public void onStart() {
super.onStart();
Window window = getDialog().getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.dimAmount = 0.90f;
windowParams.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
window.setAttributes(windowParams);
}
Run Code Online (Sandbox Code Playgroud)
创建您自己的自定义对话框扩展FragmentDailog
并覆盖此方法
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
//set the dialog to non-modal and disable dim out fragment behind
Window window = dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
return dialog;
}
Run Code Online (Sandbox Code Playgroud)
注意:这个答案适用于我的情况DialogFragment和BottomSheetDialogFragment
| 归档时间: |
|
| 查看次数: |
14075 次 |
| 最近记录: |