CalendarView(日历视图):
注:API level 需在11以上,
1.概述:
用于显示和选择日期,如果希望监控改组件的日期改变,可以通过调用CalendarView的setOnDateChangeListener()方法。
2.示例:
1>布局文件中添加CalendarView控件:
<CalendarView
android:id="@+id/calendar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:shownWeekCount="4"
android:firstDayOfWeek="3"
android:selectedWeekBackgroundColor="#f00"
android:weekSeparatorLineColor="#ff0"
android:unfocusedMonthDateColor="#f9f"
/>
shownWeekCount=”4” //设置该日历组件总共显示4个星期
firstDayOfWeek=”3” //设置以每周的星期二作为第一天
selectedWeekBackgroundColor=”#f00” //设置被选中的周的背景色
unfocusedMonthDateColor=”#f9f” //设置没有焦点的月份的日期文字的颜色
weekSeparatorLineColor=”#ff0” //设置周分隔线的颜色
2>在activity中为该控件添加点击事件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mCalendar = (CalendarView) findViewById(R.id.calendar);
mCalendar.setOnDateChangeListener(new OnDateChangeListener() {//对日历添加点击事件
@Override
public void onSelectedDayChange(CalendarView arg0, int year, int month,
int day) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "选中的时间是:"+year+"年"+(month+1)+"月"+day+"日", Toast.LENGTH_SHORT).show();
}
});
}
3>结果演示:
注:上下是可以滑动的。
DatePicker/TimePicker(日期、时间选择器)
1.概述:
DatePicker和TimePicker是两个比较易用的控件,它们是从FrameLayout派生而来的。
DatePicker是供用户选择日期的,而TimePicker是供选择时间的。
2.用法:
1>xml属性:
calendarViewShown —-设置该日期选择是够显示CalendarView组件
startYear——-设置日期选择器允许的选择的第一年
endYear——-设置日期选择器允许的选择的最后一年
maxDate——设置最大日期
minDate——设置最小日期
spinnersShown——设置是否显示Spinner日期选择组件
<DatePicker
android:layout_width="match_parent"
android:layout_height="match_parent"
android:calendarViewShown="true"
android:startYear="2000"
android:endYear="2020"
android:maxDate="11/20/2020"
android:minDate="11/20/2000"
android:spinnersShown="true"
/>
2>监听事件:
DatePicker可以添加OnDateChangeListener()进行监听。
TimePicker可以添加OnTimerChangedListener()进行监听。
3.示例:
NumberPicker(数值选择器)
1.概述:
数值选择器用于让用户输入数值,用户既可以通过键盘输入数值,也可以通过拖动来选择数值。
2.用法:
1>xml属性:
不是特有的
android:focusable=”true” //设置可点击
android:focusableInTouchMode=”true”
2>要使其有功能,必须在activity中,设置其最大,最小值,以及点击事件的监听。
设置最大、最小值:
mCalendar = (CalendarView) findViewById(R.id.calendar);
picker = (NumberPicker) findViewById(R.id.numpicker);
picker.setMinValue(10);//设置该组件支持的最小值
picker.setMaxValue(100);//设置最大值
picker.setValue(30); //设置当前值
绑定监听事件:setOnValueChangedListener()
picker.setOnValueChangedListener(new OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker arg0, int oldVal, int newVal) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "将"+oldVal+"换成"+newVal, Toast.LENGTH_SHORT).show();
}
});
结果: