Android学习之Dialog的实现

举报
ReCclay 发表于 2022/02/21 23:39:11 2022/02/21
【摘要】 记郑州一场暴雨。 分类 对话窗的形式暂且把它分为两种吧: ①、在对话框中输入信息,然后有确定取消按钮。 ②、只有确定取消按钮。 先看实现的效果: 上述第一种就类似这种 第二种嘛,就类似这种...

记郑州一场暴雨。


分类

对话窗的形式暂且把它分为两种吧:
①、在对话框中输入信息,然后有确定取消按钮。
②、只有确定取消按钮。

先看实现的效果

上述第一种就类似这种
这里写图片描述

第二种嘛,就类似这种咯

这里写图片描述


一、带输入信息的dialog实现

先建一个layout布局的xml文件,做好对应的界面。

  • app/src/main/res/layout/dialog.xml

这里写图片描述

  • app/src/main/java/包名/MainActivity.java
public class MainActivity extends AppCompatActivity {

    ...
    AlertDialog alertDialogConnect;//定义一个提示框
    View viewConnect;//获取自定义界面
	...

	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
		...
		/*对话框实现*/
        alertDialogConnect = new AlertDialog.Builder(MainActivity.this).create();
        viewConnect = View.inflate(MainActivity.this, R.layout.dialog, null);
        alertDialogConnect.setView(viewConnect);//设置对话框显示内容
		...
	}

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

然后显示取消呢?

alertDialogConnect.show();
alertDialogConnect。cancel():

  
 
  • 1
  • 2

需要注意的是,在MainActivity中实现对话框的布局里的控件id获取,必须在前面加上对应的View

上面自定义界面View名称为viewConnect,那么对应获取id的时候需要在findViewById前加上这个viewConnect,像这样一样:

这里写图片描述


二、只有按钮的Dialog实现

不需要相应的layout文件,可直接在代码中设置标题、内容、确定和取消按钮

  • app/src/main/java/包名/MainActivity.java
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title")
       .setMessage("Dialog content.")
       .setPositiveButton("OK", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, 
               int which) {
               }
       })
       .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog,
                int which) {
               }
        })
       .show();

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

文章来源: recclay.blog.csdn.net,作者:ReCclay,版权归原作者所有,如需转载,请联系作者。

原文链接:recclay.blog.csdn.net/article/details/81570953

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。