Android Studio(对话框AlertDialog)

前言

        前面介绍了常用控件的相关属性,那些控件的使用起来也很容易。在本节及后面的章节介绍的控件将是相比于前面使用起来较为复杂的(不过使用多了,也很容易上手)。

        这些控件常常需要配合java代码来使用,比如说对话框、列表视图等等。

        这一节将学习“对话框AlertDialog”的使用。

创建

对话框是需要用户交互的,所以一般是以java代码的形式创建,以下是创建一个简单对话框的代码:

 

new AlertDialog.Builder(this)
    // 对话框标题
    .setTitle("title")
    // 对话框信息内容
    .setMessage("this is Message")
    // 乐观按钮:文本内容、点击处理
    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    })
    // 消极按钮:文本内容、点击处理
    .setNegativeButton("取消",null)
    // 展示对话框
    .show();

输入框对话框

        普通对话框的作用是“二次确认”,本质上来说没有什么真正意义上的功能作用。

        有时我们需要在弹出的对话框中进行用户输入,基于输入来进行接下来交互操作,那么上面简单的对框框就不适用了。

        这时,对于AlertDialog.Builder对象就有个setView(View view)可以让我们可以设置对话框指定的内容视图控件,下面是一个弹出对话框用于修改的例子:

EditText editText = new EditText(this);
editText.setHint("请输入要修改的用户名");

AlertDialog confirmDelete = new AlertDialog.Builder(this)
    .setTitle("修改用户名")
    .setView(editText)
    .setPositiveButton("修改", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            System.out.println("修改用户名为:"+editText.getText());
        }
    })
    .setNegativeButton("取消", null)
    .show();

// 当然你也可以通过以下方式引入自定义View
LayoutInflater layoutInflater = LayoutInflater.from(this); 
View upDateView = layoutInflater.inflate(R.layout.my_update, null); 

补充

除了上面谈到的一些方法,这里再补充一些方法以便让我们根据业务需求更好地去定制对话框。

方法功能
setNeutral设置中立按钮
setIcon设置图标
setPositiveButtonIcon设置乐观按钮图标
setNegativeButtonIcon设置消极按钮图标
setNeutralButtonIcon设置中立按钮图标
setItems设置文本列表
setSingleChoiceItems设置单选列表
setMultiChoiceItems设置多选列表

后言

在接下来一节将介绍关于适配器Adapter的相关知识。 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,对话框Dialogs)是一种常见的交互设计元素,用于显示临时信息、确认对话或让用户选择选项而不会中断当前活动。以下是一些常见的Android Studio对话框案例: 1. **AlertDialog**: 这是最基础的对话框类型,常用于显示简单的提示信息、确认操作(如Yes/No或Cancel/OK)或提供多个选项供用户选择。 ```java new AlertDialog.Builder(this) .setTitle("Title") .setMessage("Message") .setPositiveButton("Positive", new DialogInterface.OnClickListener() {...}) .setNegativeButton("Negative", new DialogInterface.OnClickListener() {...}) .create() .show(); ``` 2. **ProgressDialog**: 当一个耗时的操作正在进行时,可以使用进度对话框(Progress Dialog)来显示进度和等待用户。 ```java val dialog = AlertDialog.Builder(this) .setTitle("Please Wait...") .setMessage("Loading...") .setCancelable(false) // 阻止用户关闭对话框 .setIndeterminate(true) // 使用圆形进度条 .show() // 在后台执行任务 runOnUiThread { // 当任务完成后关闭对话框 dialog.dismiss() } ``` 3. **Custom Dialogs**: 开发者也可以创建自定义布局的对话框,通过继承`DialogFragment`或`AlertDialog.Builder`来实现。 ```java class CustomDialog : DialogFragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.custom_dialog_layout, container, false) } // 增加点击事件监听器等 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值