Android开发
4、对话框与菜单的使用:
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();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端