首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android DatePickerDialog使用指南

Android DatePickerDialog使用指南

作者头像
longzeqiu
发布2019-08-14 10:13:25
3.1K0
发布2019-08-14 10:13:25
举报
文章被收录于专栏:Android小知识Android小知识

大家在应用中大部分都会使用到日历 那么这篇文章就来讲一下如何使用系统自带的日历DatePickerDialog 首先调用Calendar类获取年月日

 Calendar ca = Calendar.getInstance();
      int  mYear = ca.get(Calendar.YEAR);
      int  mMonth = ca.get(Calendar.MONTH);
      int  mDay = ca.get(Calendar.DAY_OF_MONTH);

然后将获取到的年月日放进new出来的DatePickerDialog中

        DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(),
                new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                        mYear = year;
                        mMonth = month;
                        mDay = dayOfMonth;
                        final String data =  (month+1) + "月-" + dayOfMonth + "日 ";
                         }
                },
                mYear, mMonth, mDay);
        datePickerDialog.show();

这样我们就可以进行日期的选择了 但是如果我们想只进行年月的选择不进行日选择怎么办呢 代码如下

 //只显示年月,隐藏掉日
        DatePicker dp = findDatePicker((ViewGroup) datePickerDialog.getWindow().getDecorView());
        if (dp != null) {
            ((ViewGroup)((ViewGroup)dp.getChildAt(2)).getChildAt(2))
                    .getChildAt(2).setVisibility(View.GONE);
            //如果想隐藏掉年,将getChildAt(2)改为getChildAt(0)
        }

那么还有一个疑问如果我们想改变系统DatePickerDialog的风格怎么办呢 其实很简单 只需要在style.xml中自己定义即可 然后把定义好的样式放到DatePickerDialog构造中的第一个参数后即可 代码如下

 DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), R.style.MyDatePickerDialogTheme,
                        new DatePickerDialog.OnDateSetListener() {
                            @Override
                            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                                mYear = year;
                                mMonth = month;
                                mDay = dayOfMonth;
                                final String data =  (month+1) + "月-" + dayOfMonth + "日 ";
                            }
                        },
                        mYear, mMonth, mDay);
                datePickerDialog.show();

好了到这里DatePickerDialog的定义就到此结束了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档