Dialog使用介绍

本文详细介绍了Android中Dialog的使用,包括简单的Dialog创建、含列表的Dialog、自定义View样式,以及DialogFragment与Activity的交互、展示和取消展示的处理。强调了使用DialogFragment的生命周期管理和自定义样式的方法,并探讨了Dialog展示WebView时监听后退键的实现。
摘要由CSDN通过智能技术生成

对话框

本文Github Demo地址

Dialog是Android里面用于让用户确认或输入信息的简单的UI展现形式,本文将通过Demo讲解如何使用Dialog。通常,我们不应该直接使用Dialog,而是应该使用Dialog的子类AlertDialogDatePickerDialog以及TimePickerDialog。这三个子类对Dialog进行了封装,并定义了它们各自的外观结构。其中[AlertDialog]的样式通常包含了确定和取消按钮,以及标题和一小段描述文字。DatePickerDialogTimePickerDialog用于选择日期和时间。

通常我们应该使用Dialogfragment作为Dialog的容器,Dialogfragment提供了对Dialog的封装以及生命周期的管理,可以自动处理屏幕旋转后DialogFragment的重建(Dialog则不能),下面给出了一个DialogFragment的典型用法。

简单的对话框

一个最简单的对话框

public class MyDialogFragment extends DialogFragment {
   
    @Override    
    public Dialog onCreateDialog(Bundle savedInstanceState) {
           
        // 设置Dialog样式和theme        
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), 0);        
        builder.setTitle("提示") 
              .setMessage("确定继续?")                
              .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                         
                    @Override                    
                    public void onClick(DialogInterface dialog, int which) {
                           
                        communicateInterface.positiveClicked();                        
                        dismiss();                    
                    }                
                })                
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                       
                    @Override                    
                    public void onClick(DialogInterface dialog, int which) {
                           
                        communicateInterface.negativeClicked();                        
                        dismiss();                    
                     }                
                });        

        Dialog dialog = builder.create();        
        return dialog;    
    }
}

含列表的对话框

可以在对话框里添加简单的列表:
含列表的对话框

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
       
    AlertDialog.Builder builder 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值