我已经搜索了有关关闭对话框onTouchOutside的所有答案,但是,我在我的应用程序中使用了DialogFragment。当用户在DialogFragment的区域之外点击时,如何实现关闭DialogFragment。我检查了Dialog的sourcecode对于setCanceledOnTouchOutsidepublicvoidsetCanceledOnTouchOutside(booleancancel){if(cancel&&!mCancelable){mCancelable=true;}mCanceledOnTouchOutside=cancel;}还有另一个可能很有趣的
我正在尝试使用SherlockDialogFragment来询问用户的一些输入。在我的手机(GalaxyNexus,4.2)上一切正常,但在较小的手机(模拟器2.3.3)上,当键盘出现时,它会覆盖DialogFragment的两个按钮,如下所示:我的布局在ScrollView内,我将onViewCreated上的softInputMode更改为SOFT_INPUT_ADJUST_RESIZE。我也试过SOFT_INPUT_ADJUST_PAN,但没用MyCustomDialog.javapublicclassAddTaskDialogextendsSherlockDialogFragm
我正在尝试创建一个宽度为MATCH_PARENT的DialogFragment,因此对话框几乎是全屏的(为float外观保留边缘周围的填充)。我见过这个解决方案FullScreenDialogFragmentinAndroid但我试图避免将宽度设置为1000dp。对于我当前的布局,无论我使用FILL_PARENT还是MATCH_PARENT,它似乎都将宽度和高度设置为WRAP_CONTENT。我已将此解决方案用于Dialog(不是DialogFragment),它按预期工作:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FUL
我正在做一些后台工作并在执行此操作时显示DialogFragment。一旦我的工作完成并调用了相关的回调,我就会关闭对话框。当我这样做时,我会在android源代码中遇到由NPE引起的崩溃,这里:voiddismissInternal(booleanallowStateLoss){if(mDialog!=null){mDialog.dismiss();mDialog=null;}mRemoved=true;if(mBackStackId>=0){getFragmentManager().popBackStack(mBackStackId,FragmentManager.POP_BACK
我有一个使用这个XML调用setContentView的Activity:GroupFragment扩展了Fragment,一切正常。但是,我从GroupFragment中显示了一个DialogFragment。这显示正确,但是当屏幕旋转时,我得到一个强制关闭。在DialogFragment.show(FragmentManager,String)之外的另一个Fragment中显示DialogFragment的正确方法是什么? 最佳答案 兼容性库中存在可能导致此问题的错误。试着把它放在你的对话fragment中:@Overridep
我在显示DialogFragment时遇到IllegalStateException:java.lang.IllegalStateException:CannotperformthisactionafteronSaveInstanceState我知道它为什么会发生,但我想通过覆盖DialogFragmentshow函数来使用commitAllowingStateLoss来显示对话框:publicvoidshow(FragmentManagermanager,Stringtag){mDismissed=false;mShownByMe=true;FragmentTransactionft
DialogFragment中是否有可能截取key按钮?对不起这个天真的问题。我的FragmentActivity的onBackPressed永远不会被调用。提前致谢if(imageFile.exists()){ShowPicDialognewFragment=ShowPicDialog.newInstance();FragmentTransactionft=manager.beginTransaction();Fragmentprev=manager.findFragmentByTag("picDialog");if(prev!=null){ft.remove(prev);}ft.a
我正在使用android兼容性库(v4修订版8)。在自定义DialogFragment中,未调用覆盖的方法onViewCreated。例如。publicclassMyDialogFragmentextendsDialogFragment{privateStringmMessage;publicMyDialogFragment(Stringmessage){mMessage=message;}@OverridepublicDialogonCreateDialog(BundlesavedInstanceState){super.onCreateDialog(savedInstanceSta
我正在创建一个显示在操作栏下方的自定义DialogFragment。到目前为止,一切都很好。对话框fragment的布局参数是match_parent宽度和wrap_content高度。我已经尝试了所有解决方案,包括设置布局参数.width以及获取显示大小和删除主题。但是,无论如何,对话框的左侧、右侧和顶部都有少量空间是不可见的。我需要知道如何移除这个空间,让它真正匹配屏幕的宽度,并希望摆脱顶部的填充。 最佳答案 我使用自定义对话框主题解决了这个问题。windowIsFloatingtrue将摆脱背景,但会在背景下方添加一些额外的空
可以将上下文变量传递给DialogFragment吗?我在对话框中使用此代码来传递字符串:publicstaticConfirmDialognewInstance(Stringf){ConfirmDialogd=newConfirmDialog();Bundleargs=newBundle();args.putString("FILE_NAME",f);d.setArguments(args);returnd;}但我没有找到像putString这样的函数来传递上下文。有可能吗? 最佳答案 您的DialogFragment有一个非常方