各种常用的基本对话框的基本使用

 AlertDialog对话框的基本使用
//功能:单击一个按钮控件弹出一个对话框
//该对话框使用很平凡 -- 比较灵活想在哪里用就在哪里创建
1、在res/layout里布局一个按钮
代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <Button
        android:id="@+id/alertdialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onclickButton"
        android:text="alertdialog对话框" />
</LinearLayout>
--------------------------
2、在MainActivity 类里
代码:
AlertDialog.Builder builder = new AlertDialog.Builder(this);//创建一个对话框
   builder.setTitle("提示");//设置对话框的标题
   builder.setIcon(R.drawable.ic_launcher);//设置对话框标题旁边的图片
   builder.setMessage("确定退出?");//设置对话框的内容
   //setNegativeButton方法 -- 设置AlertDialog对话框的取消按钮
   //第一个参数 -- AlertDialog对话框取消按钮要设置的文字
   //第二个参数 -- 点击该取消按钮的事件监听 -- 什么也不做 -- 可以设置为null
   builder.setNegativeButton("取消", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show();
    }
   });
   //setPositiveButton方法 -- 设置AlertDialog对话框的确定按钮
   //第一个参数 -- AlertDialog对话框确定按钮要设置的文字
   //第二个参数 -- 点击该确定按钮的事件监听 -- 什么也不做 -- 可以设置为null
   builder.setPositiveButton("确定", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();
    }
   });
            //setNeutralButton方法 -- 设置AlertDialog对话框的中立按钮
   //第一个参数 -- AlertDialog对话框中立按钮要设置的文字
   //第二个参数 -- 点击该中立按钮的事件监听 -- 什么也不做 -- 可以设置为null
   builder.setNeutralButton("中立", new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
     Toast.makeText(MainActivity.this, "中立", Toast.LENGTH_SHORT).show();
    }
   });
   //AlertDialog对话框的显示 
   builder.show();
=========================================================

193916_TaUi_2542711.png

 

ProgressDialog对话框的创建和简单使用

代码

ProgressDialog progressdialog = new ProgressDialog(this);//创建一个ProgressDialog对话框
   progressdialog.setTitle("提示");//设置ProgressDialog对话框的标题
   progressdialog.setIcon(R.drawable.ic_launcher);//设置ProgressDialog对话框标题旁边的图片
   progressdialog.setMessage("progressdialog...");//设置ProgressDialog对话框的内容
   progressdialog.show();//显示ProgressDialog对话框
   progressdialog.dismiss();//隐藏ProgressDialog对话框
   

========================================================

 


DatePickerDialog(年,月,日)时间对话框的创建和基本使用
Calendar calendar = Calendar.getInstance();//获取当前时间
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
//创建一个时间对话框
//第一个参数 -- 上下文
//第二个参数 -- 时间对话框选择时间的监听
//第三个参数 -- 当前时间的 -- 年
//第四个参数 -- 当前时间的 -- 月
//第五个参数 -- 当前时间的 -- 日
DatePickerDialog datepincker = new DatePickerDialog(this, new OnDateSetListener() {
    
    //第一个参数 -- DatePickerDialog时间对话框的视图
    //第二个参数 -- 当前选择的 -- 年
    //第三个参数 -- 当前选择的 -- 月
    //第四个参数 -- 当前选择的 -- 日
    
    //注意:月份要加1 因为月份从0算的
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
      int dayOfMonth) {
     String dateString = year + "年" + monthOfYear + "月" + dayOfMonth + "日";
     Toast.makeText(MainActivity.this, dateString, Toast.LENGTH_SHORT).show();
    }
   }, year, month, day);
   //显示DatePickerDialog时间对话框
   datepincker.show();

 

效果图示例:

194420_qgSZ_2542711.png===================================================================
TimePickerDialog时间对话框(小时,分钟)简单创建和基本使用
//获取当前时间
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
INT minute = calendar.get(Calendar.MINUTE);
//创建一个TimePickerDialog时间对话框
//第一个参数 -- 上下文
//第二个参数 -- 时间对话框的事件监听
//第三个参数 -- 当前的 -- 小时
//第四个参数 -- 当前的 -- 分钟
//第四个参数 -- 是否是24小时制
TimePickerDialog timepicker = new TimePickerDialog(this, new OnTimeSetListener() {
  

//第一个参数 -- TimePickerDialog时间对话框视图
//第二个参数 -- 选择的 -- 小时
//第三个参数 -- 选择的 -- 分钟  
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
     String date_time = hourOfDay + ":" + minute ;
     Toast.makeText(MainActivity.this, date_time, Toast.LENGTH_SHORT).show();
    }
   }, hour, minute, true);
   //显示TimePickerDialog时间对话框
   timepicker.show();

 

效果图示例

 

194535_VAvk_2542711.png================================================================

自定义对话框的简单创建和基本使用

//注意:自定义对话框是在AlertDialog基础上实现的 用得挺多的
//功能:登录对话框
1、先在res/layout里布局登录的界面 login_activity.xml布局文件

代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edit_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名" />

    <EditText
        android:id="@+id/edit_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码"
        android:inputType="textPassword" />


</LinearLayout>
----------------
2、创建自定义对话框

代码

AlertDialog.Builder builder = new AlertDialog.Builder(this);//this -- 上下文
builder.setTitle("登录对话框");//自定义对话框的标题
builder.setIcon(R.drawable.ic_launcher);//设置自定义对话框标题旁边的图片
//使用填充器找到登录对话框的布局文件名
View login = LayoutInflater.from(this).inflate(R.layout.login_activity,null);
//找到登录布局文件名后在找该布局里面的控件名
final EditText edit_name = (EditText) login.findViewById(R.id.edit_name);
final EditText edit_password = (EditText) login.findViewById(R.id.edit_password

builder.setView(login);//设置自定义对话框的视图 -- 把找到的自定义登录布局放到里面就可以
//自已的对话框的确定按钮 时间监听
 builder.setPositiveButton("确定", new OnClickListener() {
    
    @Override
    public void onClick(DialogInterface dialog, int which) {
     String name = edit_name.getText().toString();
     String password = edit_password.getText().toString();
    
    setTitle(name + "::" + password);
    }
   });
   //取消按钮
   builder.setNegativeButton("取消", null);
   //显示自定义对话框
   builder.show();

 

效果图示例

194652_2gYz_2542711.png

 

转载于:https://my.oschina.net/u/2542711/blog/608381

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值