android – 如何制作DialogFragment模式?

我有一个DialogFragment:
public static class CharacteristicDialog extends DialogFragment {
        int mNum;

        static CharacteristicDialog newInstance(int num) {
            CharacteristicDialog f = new CharacteristicDialog();            
            Bundle args = new Bundle();
            args.putInt("num",num);
            f.setArguments(args);
            return f;
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mNum = getArguments().getInt("num");
            setStyle(STYLE_NO_INPUT,0);        
        }

        @Override
        public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
            View v = inflater.inflate(R.layout.characteristic_dialog,container,false);
            v.setonClickListener(new OnClickListener() {                
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });
    }

我在我的主片段中创建它,如下所示:

DialogFragment newFragment = CharacteristicDialog.newInstance(v.getId());
        newFragment.setShowsDialog(true);
        newFragment.show(getFragmentManager(),"dialog");

显示得很好,但它不是模态的(我可以点击两侧并在对话框后面的主片段上进行操作).

我如何制作模态?

谢谢

解决方法

只需将STYLE_NO_INPUTт®STYLE_norMAL更改为setStyle()方法即可.
有关DialogFragment样式和主题的更多信息,请查看文档:
http://developer.android.com/reference/android/app/DialogFragment.html

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...