DatePickerDialog的用法(一)

DatePickerDialog 是系统的一个日期选择组件

先下基本的效果

 

有两种调用方式:

第一种:在当前的activity实现  DatePickerDialog.OnDateSetListener 接口,并且实现接口的方法 OndateSet()

这是项目的源码:

public class AddActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener,View.OnClickListener {

    public void showTimeSelect(){
        Calendar calendar = Calendar.getInstance();
        int mYear = calendar.get(Calendar.YEAR);
        int mMonth = calendar.get(Calendar.MONTH);
        int mDate = calendar.get(Calendar.DAY_OF_MONTH);
        DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                this,
                mYear,
                mMonth,
                mDate);

        datePickerDialog.show();
   }

    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        System.out.println(year+"-"+(month+1)+"-"+dayOfMonth);
    }

}

记得自己调用 showTimeSelect() 方法哦 ! 非常重要!不然看不到效果!

  

第二种:直接调用

DatePickerDialog datePickerDialog = new DatePickerDialog(AddActivity.this,new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

    }
  },mYear,mMonth,mDate);
datePickerDialog.show();

 

非常 非常方便!!

接下来看另外一个效果图:

 

同样是日期选择但是效果截然不同!当然这也是通过 DatePickerDialog 实现的,只是提供了不同的UI效果

看下调用代码:

DatePickerDialog datePickerDialog = new DatePickerDialog(AddActivity.this, AlertDialog.THEME_HOLO_LIGHT, new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {

    }
  },mYear,mMonth,mDate);
  datePickerDialog.show();

只是在原来的参数上面多加一个主题参数就可以实现了,这个需要在 android4.0以上的版本才可以实现,目前新版本的安卓系统已经不再推荐使用这个方式进行UI修改。

很多时候要让这个日期选择器跟我们的UI匹配,了解怎样去设置UI显得也非常重要了,自定义 DatePickerDialog UI待续。

 

posted @ 2022-07-18 00:51  星锋  阅读(1791)  评论(0编辑  收藏  举报