标签:
以文本的方式显示系统日期和时间,可以自定义显示格式,是 Android4.2(对应API Level 17)提供的新特性。
TextClock有两种格式设置方式:
1、 在24小时模式:
属性:android:format24Hour
方法:set Format24Hour(CharSequence)
2、 在12小时模式:
属性:android: format12Hour
方法:set Format12Hour (CharSequence)
下面就通过案例2.6-1,讲解TextClock的用法,执行效果如图2.6-1
图2.6-1
2.6.2 AnalogClock
AnalogClock控件显示模拟时钟。它继承了View组件,在View组件的基础上重写了onDraw方法,在OnDraw方法实现绘制模拟时钟,但绘制了时针和分针没有秒针。
表2.6-1列出了AnalogClock所支持的XML属性。
表2.6-1AnalogClock所支持的XML属性说明
XML属性 |
备注 |
android:dial |
设置模拟表盘的使用的图片 |
android:hand_hour |
设置模拟表盘时针使用的图片 |
android:hand_minute |
设置模拟表盘分针使用的图片 |
下面就通过案例2.6-2,讲解AnlogClock的基本用法,执行效果如图2.6-2
图2.6-2
DatePicker和TimePicker是 Android提供用于选择一个时间和选择一个日期的控件。
他们都继承自FrameLayout,使用起来比较简单。
使用DatePicker和TimePicker控件有助于确保用户选择一个时间或日期是有效的、格式正确。
TimePicker用于选择的时间(小时,分钟,上午/下午)的每个部分。
DatePicker用于选择日期(月,日,年)的每个部分。
如图2.6-3所示:
图2.6-3
表2.6-2列出了DatePicker所支持的XML属性。
表2.6-2 DatePicker所支持的XML属性说明
XML属性 |
备注 |
android:calendarViewShown |
是否显示CalendarView组件 |
android:spinnersShown |
是否显示Spinner组件 |
android:endYear |
是否允许选择最后一年 |
android:startYear |
是否允许选择第一年 |
android:maxDate |
以MM / DD / yyyy格式显示此日历视图的最大日期 |
android:minDate |
以MM / DD / yyyy格式显示此日历视图的最小日期 |
下面就通过案例2.6-3,讲解AnlogClock的基本用法,执行效果如图2.6-3
图2.6-3
public class PickerActivity extends AppCompatActivity { private int year; private int month; private int day; private int hour; private int minute; private DatePicker datePicker; private TimePicker timePicker; @Override datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker arg0, int year, int month, int day) { PickerActivity.this.year = year; PickerActivity.this.month = month; PickerActivity.this.day = day; // 显示当前时间和日期 showDate(year, month, day, hour, minute); } }); // 为TimerPicker指定事件监听器 timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker arg0, int hour, int minute) { PickerActivity.this.hour = hour; PickerActivity.this.minute = minute; } }); showDate(year,month,day,hour,minute); } protected void showDate(int year, int month, int day, int hour,int minute) { EditText text = (EditText) findViewById(R.id.etShowDate); text.setText("选择的日期和时间为:" + year + "年" + (month+1) + "月" + day + "日" + hour + "时" + minute+ "分"); } }
是一个日历组件,用于显示和选择日期。日历支持的范围是可配置的。用户可以选择一个日期,也可以通过触摸滚动来选择所需的日期。
表2.6-3列出了CalendarView所支持的XML属性。
表2.6-3 CalendarView所支持的XML属性说明
XML属性 |
方法 |
备注 |
android: dateTextAppearance |
setDateTextAppearance(INT) |
设置日历控件日期文字的样式 |
android:maxDate |
setMaxDate(long) |
以MM / DD / yyyy格式在此日历视图中显示的最小日期 |
android:minDate |
setMinDate(long) |
以MM / DD / yyyy格式在此日历视图中显示的最大日期 |
android: firstDayOfWeek |
setFirstDayOfWeek(INT) |
给日历设置周的第一天 |
android:shownWeekCount |
set ShownWeekCount(INT) |
设置日历总共显示几个周 |
android:selectedWeekBackgroundColor
|
setSelectedWeekBackgroundColor(INT)
|
设置已选择的周的背景颜色 |
android:focusedMonthDateColor
|
setFocusedMonthDateColor
|
设置焦点月份的文字的颜色 |
android:weekSeparatorLineColor
|
setWeekSeparatorLineColor(INT)
|
设置周分割线的颜色
|
android:unfocusedMonthDateColor
|
setUnfocusedMonthDateColor(INT) |
设置未选中月份的文字的颜色 |
下面就通过案例2.6-4,讲解CalendarView的基本用法,执行效果如图2.6-4。
图2.6-4
public class CalendarViewActivity extends AppCompatActivity { private CalendarView cv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_calendar_view); cv=(CalendarView)findViewById(R.id.calenddarView); initCalendarView(); } private void initCalendarView(){ //为CalendarView组件的日期改变事件添加事件监听器 cv.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { //使用Toast显示用户选择的日期 Toast.makeText(CalendarViewActivity.this, "购票日期:" + year + "年" + month + "月" + dayOfMonth + "日" , Toast.LENGTH_SHORT).show(); } }); } }
案例关键点:
通过为CalendarView对象设置日期监听OnDateChangeListener,并复写回调方法onSelectedDayChange(),获得用户选择的日期
作者:冲天之峰 20160711
标签:
原文地址:http://blog.csdn.net/zhangyufeng0126/article/details/51879215