各种杂项组件(3)之--CalendarView(日历视图)、DatePicker/TimePicker(日期、时间选择器)、NumberPicker(数值选择器)

这篇博客介绍了Android中三种常用的UI组件:CalendarView(日历视图),DatePicker/TimePicker(日期和时间选择器)以及NumberPicker(数值选择器)。CalendarView适用于API级别11及以上,可以设置显示的星期数和颜色样式,并通过监听事件跟踪日期变化。DatePicker和TimePicker提供日期和时间选择,可自定义显示范围并监听选择变化。NumberPicker则让用户通过输入或拖动选择数值,支持设置最大值和最小值,并添加监听事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();

    }
});

结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值