赞
踩
CalendarView是Android上一个优雅、高度自定义、性能高效的日历控件,完美支持周视图,支持标记、自定义颜色、农历等,任意控制月视图显示、任意日期拦截条件、自定义周起始等。
下面展示CalendarView最简单的使用方法
。
<CalendarView
android:id="@+id/calendarView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
实现效果:
属性 | 说明 |
---|---|
android:dateTextAppearance="" | 设置该日历视图的日期文字的样式 |
android:firstDayOfWeek="" | 设置每周第一天,允许设置周一到周日任意一天作为每周的第一天 |
android:maxDate="" | 设置该日历组件支持的最大日期,以mm/dd/yyyy格式设置指定最大日期 |
android:minDate="" | 设置该日历组件支持的最小日期,以mm/dd/yyyy格式设置指定最小日期 |
android:background="" | 设置整体背景颜色/图片 |
android:weekDayTextAppearance | 工作日的文本出现在日历标题缩写 |
方法 | 说明 |
---|---|
boolean isWeekend() | 判断是不是周末,可以用不同的画笔绘制周末的样式 |
int getWeek() | 获取星期 |
String getSolarTerm() | 获取24节气,可以用不同颜色标记不同节日 |
String getGregorianFestival() | 获取公历节日,自由判断,把节日换上喜欢的颜色 |
String getTraditionFestival() | 获取传统节日 |
boolean isLeapYear() | 是否是闰年 |
int getLeapMonth() | 获取闰月 |
boolean isSameMonth(Calendar calendar) | 是否相同月 |
int compareTo(Calendar calendar) | 比较日期大小 |
long getTimeInMillis() | 获取时间戳 |
int differ(Calendar calendar) | 日期运算,相差多少天 |
在主活动中添加监听事件CalendarView.OnDateChangeListener
,在用户选择日期时触发相关效果(例:选择日期背景颜色改变)
在主活动中,为其添加监听事件后
可以通过 day
, month
, dayOfMonth
来获得用户选择的日期的具体信息:
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。