千家信息网

Android怎么自定义样式圆角dialog对话框

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"Android怎么自定义样式圆角dialog对话框",在日常操作中,相信很多人在Android怎么自定义样式圆角dialog对话框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2025年01月21日Android怎么自定义样式圆角dialog对话框

这篇文章主要介绍"Android怎么自定义样式圆角dialog对话框",在日常操作中,相信很多人在Android怎么自定义样式圆角dialog对话框问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android怎么自定义样式圆角dialog对话框"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

做法:

1.在res文件的layout文件夹创建自己的对话框布局,命名为my_dialog.xml
2.在res文件的drawable文件夹创建自己的对话框样式(圆角),命名为my_dialog_shape.xml
3.写一个方法调用对话框布局,触发条件自定义,这里我是写了一个按钮,在按钮的点击事件里调用方法,弹出对话框。在这个方法里可以定义对话框的标题、正文、点击确定或取消时触发的事件等,还可以设定对话框在屏幕上的显示位置
4.在需要弹出对话框的地方调用方法

上代码:

1.在res文件的layout文件夹创建自己的对话框布局,命名为my_dialog.xml

对话框内部控件的显示位置都可以在这里自己调整

                    

2.在res文件的drawable文件夹创建自己的对话框样式(圆角),命名为my_dialog_shape.xml

        

3.写一个方法调用对话框布局,触发条件自定义,这里我是写了一个按钮,在按钮的点击事件里调用方法,弹出对话框。在这个方法里可以定义对话框的标题、正文、点击确定或取消时触发的事件等,还可以设定对话框在屏幕上的显示位置

public void my_dialog(Context context)  {        View inflateLayout = LayoutInflater.from(context).inflate(R.layout.my_dialog,null);        TextView unbind_title = (TextView) inflateLayout.findViewById(R.id.title);        unbind_title.setText("标题");        TextView unbind_message = (TextView) inflateLayout.findViewById(R.id.message);        unbind_message.setText("正文");        AlertDialog builderDialog = new AlertDialog.Builder(context)                .setView(inflateLayout)                .setCancelable(false)  //使用户只能通过点击对话框的确定或取消关闭对话框                .create();        inflateLayout.findViewById(R.id.btn_confirm).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Toast.makeText(context, "你点击了确定", Toast.LENGTH_SHORT).show();                builderDialog.dismiss();            }        });        inflateLayout.findViewById(R.id.btn_cancel).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(context, "你点击了取消", Toast.LENGTH_SHORT).show();                builderDialog.dismiss();            }        });        builderDialog.getWindow().setBackgroundDrawableResource(R.drawable.my_dialog_shape); //设置对话框的样式        WindowManager.LayoutParams params = builderDialog.getWindow().getAttributes();        params.y = 1000;        builderDialog.getWindow().setAttributes(params);        builderDialog.show();        builderDialog.getWindow().setGravity(Gravity.TOP); //设置对话框展示在距离屏幕顶部1000的位置    }

4.在需要弹出对话框的地方调用方法

例如:我在MainActivity里点击了一下button,触发了弹出对话框的方法

Button pops_up = (Button) findViewById(R.id.pops_up);        pops_up.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                my_dialog(MainActivity.this);            }        });

到此,关于"Android怎么自定义样式圆角dialog对话框"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0