Android CalendarView 日历视图
Android CalendarView 日历视图控件主要用于显示和选择日期
CalendarView 显示的时间范围可以通过 android:minDate
和 android:maxDate
两个属性进行设置
CalendarView
我们可以使用 <CalendarView>
创建一个 CalendarView
<CalendarView android:layout_width="wrap_content" android:layout_height="wrap_conent" />
接下来我们写一个 demo 演示下 CalendarView
-
创建一个 空的 Android 项目
cn.twle.android.CalendarView
-
修改
activity_main.xml
添加两个按钮<?xml version="1.0" encoding="utf-8" ?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="8dp" android:orientation="vertical" > <CalendarView android:id="@+id/calendarview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
运行范例,显示如下
CalendarView 属性和事件
CalendarView 属性很多,我们只介绍几个主要的
属性 | 说明 |
---|---|
android:firstDayOfWeek | 设置一个星期的第一天 |
android:maxDate | 最大的日期显示在这个日历视图 mm/dd /yyyy 格式 |
android:minDate | 最小的日期显示在这个日历视图 mm/dd /yyyy 格式 |
android:weekDayTextAppearance | 工作日的文本出现在日历标题缩写 |
CalendarView 事件
CalendarView 会在选择日期时触发 CalendarView.OnDateChangeListener
事件
获得 CalendarView
的值
CalendarView
提供了 getDate()
用于获取 1970-1-1 00:00:00
到用户选择时间经过的毫秒数
我们复用上面的 demo ,然后修改 MainActivity.java
package cn.twle.android.calendarview; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CalendarView; import android.widget.Toast; public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); CalendarView calendarview = (CalendarView) findViewById(R.id.calendarview); calendarview.setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Toast.makeText(MainActivity.this,"您选择的时间是:"+ year + "年" + month + "月" + dayOfMonth + "日",Toast.LENGTH_SHORT).show(); } }); } }