侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

DialogFragment基本使用

2024-05-15 星期三 / 0 评论 / 0 点赞 / 92 阅读 / 2520 字

第一种: //第一种创建Dialog的方式 @Nullable @Override public View onCreateView(LayoutInflater inflat

第一种:

    //第一种创建Dialog的方式    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        getDialog().setCanceledOnTouchOutside(true);//设置点击外部Dialog消失        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//设置Dialog外部透明        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉Dialog标题        View view = inflater.inflate(R.layout.dialog_fragment_layout, container, false);//传入Dialog布局文件        return view;    }   //实现去标题效果除了onCreateView里的写法外,还可以这么写,必须放在onCreate里   //    @Override   //    public void onCreate(Bundle savedInstanceState) {   //        super.onCreate(savedInstanceState);   //        setStyle(DialogFragment.STYLE_NO_TITLE,    //        android.R.style.Theme_Holo_Light_Dialog_MinWidth);//必须放到此处起作用   //    }    @Override    public void onStart() {        super.onStart();        //控制Dialog在Window中的宽度和高度        WindowManager.LayoutParams lp = getDialog().getWindow().getAttributes();        lp.y = 100;        lp.x = 0;        lp.width = (int) (getScreenWidth()*0.8);        lp.height = (int) (getScreenHeight() * 0.6);        getDialog().getWindow().setAttributes(lp);    }    //获取屏幕宽度    public int getScreenWidth() {        DisplayMetrics dm = getResources().getDisplayMetrics();        return dm.widthPixels;    }    //获取屏幕高度    public int getScreenHeight() {        DisplayMetrics dm = getResources().getDisplayMetrics();        Log.e("screenHeight",dm.heightPixels+"");        return dm.heightPixels;    }

第二种方式和产生一个AlertDialog相似:

@NonNull    @Override    public Dialog onCreateDialog(Bundle savedInstanceState) {        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());        LayoutInflater inflater = getActivity().getLayoutInflater();        View contentView = inflater.inflate(R.layout.dialog_test2_fragment_layout,null);        builder.setView(contentView).setPositiveButton("确定", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {            }        }).setNegativeButton("取消",null);        return builder.create();    }

广告 广告

评论区