资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android日期选择控件,android 日期选择

android自带日期控件怎么调用

1.DatePicker

10年积累的网站制作、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有封丘免费网站建设让你可以放心的选择与我们合作。

在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。

1.1常用xml属性

DatePicker的常用xml属性如图1所示:

图1 DatePicker常用xml属性

其中,android:calendarViewShown[boolean]用于设置是否显示calendar view;android:endYear[int]用于设置截至日期;android:maxDate[int]用于设置最大的日期;android:minDate[int]用于设置最小的日期;android:spinnersShown[boolean]用于设置是否显示spinners;android:startYear[int]用于设置起始日期。

1.2常用方法

DatePicker的常用方法有以下一些:

(1)public CalendarView getCalendarView(); //获取CalendarView

(2)public boolean getCalendarViewShown();   //获取CalendarView是否显示

(3)public int getDayOfMonth(); //获取当前日期的日

(4)public long getMaxDate();   //获取最大日期

(5)public long getMinDate();    //获取最小日期

(6)public int getMonth();      //获取当前日期的月

(7)public boolean getSpinnersShown();     //获取Spinners是否显示

(8)public int getYear(); //获取当前日期的年

(9)public void init(int year,int monthOfYear,int dayOfMonth,

DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期

(10)public void setCalendarViewShown(boolean shown);//设置是否显示CalendarView

(11)public void setMaxDate(long maxDate); //设置最大日期

(12)public void setMinDate(long minDate); //设置最小日期

(13)public void setSpinnersShown(boolean shown); //设置是否显示Spinners

(14)public void updateDate(int year,int month,int dayOfMonth);    //更新当前日期

2.TimePicker

在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:

(1)public Integer getCurrentHour(); //获取当前时间的小时

(2)public Integer getCurrentMinute();  //获取当前时间的分钟

(3)public boolean is24HourView(); //获取是否为24小时模式

(4)public void setCurrentHour(Integer currentHour);            //设置当前时间的小时

(5)public void setCurrentMinute(Integer currentMinute);      //设置当前时间的分钟

(6)public void setIs24HourView(Boolean is24HourView);      //设置24小时模式

3.DatePickerDialog

在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:

(1)public DatePicker getDatePicker();                                //获取DatePicker中的日期值

(2)public void onClick(DialogInterface dialog,int which);       //响应对话框中的点击事件

(3)public void onDateChanged(DatePicker view,int year,int month,int day);       //响应日期改变事件

(4)public void updateDate(int year,int monthOfYear,int dayOfMonth);              //更新当前日期

4.TimePickerDialog

在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:

(1)public void onClick(DialogInterface dialog,int which);                             //响应对话框中的点击事件

(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute);    //响应时间改变事件

(3)public void updateTime(int hourOfDay,int minuteOfHour);                       //更新当前时间

5.AnalogClock

在Android中,AnalogClock用于显示指针式时钟,该时钟仅有时钟和分钟两个指针。

6.DigitalClock

在Android中,DigitalClock用来显示数字式时钟,显示格式为HH:MM:SS AM/PM。

Android控件:可放弃的原生日历控件--CalendarView

【问题一】 卡顿问题

有人打开CalendarView会发生卡顿现象,不过这个问题也有人找到解决方案。如下:

解决Android CalendarView显示卡顿的问题

【问题二】 获取不到日期问题

在某些手机上,会发生获取不到日期的问题,这个问题是非常严重的,因为系统兼容问题导致,这个问题目前没有解决方案

【问题三】 样式不一致问题

CalendarView的样式受到系统的影响,在不同的手机上可能样式不一样。

比如,在布局文件中写一个最简单的CalendarView布局

但是,在手机上的样式是这样的:

总之,一般项目中使用日历控件都会将原生控件CalendarView排除在外。

[本章完...]

APP产品设计:时间、地点、人选择控件

一、关于时间的控件分为两种:日期时间控件 和 日历控件。

    日期时间控件: 当选择的时间包含时分时会采用的控件 。一般点击后,我见过的交互有两种方式,一种是在底部弹出选择框,通过滚动的形式可选择年、月、日、时、分,点击完成按钮关闭弹窗。另一种是在点击处下方直接显示,选择的形式同底部弹出选择一样,选择完成后,点击开始的点击处,隐藏选择框。

    日历控件 :当选择的时间仅仅为日期的时候会选择的控件。我见过的日历控件分为可折叠和不可折叠两种。不可折叠的日历控件都是按月份展示,通过左右滑动,可切换月份。可折叠的日历控件在上滑时会收起,折叠成周历,左右滑动可切换周。两种控件也可结合使用,如图:

二、地点控件,交互上我分为了页面选择控件和底部弹框控件。

    页面选择交互 :当选择的地点,包括历史访问地点、热门城市等,辅助功能时,可采用这种交互控件。优点:可搜索/索引查找,辅助功能可以多些。缺点:需要页面跳转。

    底部弹窗交互 :是一种轻松便捷的选择地点的方式,目前也有产品把热门城市选择容进来了,不过如果辅助功能较多,还是觉得选择用页面选择更好。优点:占地小。缺点:当选择的城市区域过多的时候,选择麻烦。所以在功能相对不那么频繁用到的时候,可选择此控件。

三、人员选择控件:根据有组织层级的人员选择还是无组织层级人员选择,有两种交互设计方式,无组织层级的人员选择,搜索框+人员列表即可。有组织层级的人员选择,可通过单页面组织分类,平铺显示人员,也可以通过页面层层下钻的形式,选择人员。

以上就是我个人的一些总结,如有不妥之处,不吝赐教。

- E N D -


网页题目:android日期选择控件,android 日期选择
链接URL:http://cdkjz.cn/article/dsegjji.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220