我有一个函数,当它被触发时,成功地显示一个带有以下代码的 DialogFragment
对话框 fragment
DialogFragment dialog;
View dialogView;
Context activityContext;
...
dialog = new DialogFragment(){
@Override public Dialog onCreateDialog(Bundle savedInstanceState) {
dialogView = getActivity().getLayoutInflater().inflate(R.layout.customView, null);
...
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(dialogView);
return builder.create();
}
};
dialog.show(activityContext.getSupportFragmentManager() , "MyDialog");
问题是,在我使用以下代码添加系统警报窗口后,DialogFragment 不再显示,但是如果我传递给另一个应用程序,当我的应用程序最小化时,我可以看到 DialogFragment,同时它正在减小它的大小
系统警报窗口
WindowManager mWindowManager;
WindowManager.LayoutParams params;
...
mWindowManager = (WindowManager)activityContext.getSystemService(Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
}
params.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
addView(((LayoutInflater)activityContext.getSystemService("layout_inflater")).inflate(R.layout.floatingBotton, null));
所以...为什么我在顶部看不到我的对话框(据我所知,对话框正在显示) 为什么它只在显示系统警报窗口时发生
我试过为系统警报窗口使用其他标志,但我试过的那些也有同样的问题
最佳答案
FragmentManager fmg1=this.getChildFragmentManager();
//or
FragmentManager fmg1=this.getFragmentManager();
dialog.show(fmg1 , "MyDialog");
请试试这个可能有用
关于android - 添加警报窗口后 DialogFragment 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28352612/