Android自带CalendarView类实现日历视图
文章由来:学习一下日历控件的实现,Android3.0以下的版本请查阅其他文章。
本文主要是介绍Android日历视图控件CalendarView相关的内容,然后在后面会给出一个简单的Demo。
CalendarView继承自FrameLayout
其他文章都引用的类似的java代码示例如下:
public class MainActivity extends Activity implements OnClickListener,
OnDateChangeListener { private CalendarView calendarView;
private TextView tvCalendar, tvReminder, tvNote, tvMore;
private ImageView ivNext;
private ImageView ivPrevious; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main); // initData();
// initUI();
}
}
这部分代码的工作主要在于加载layout,CalendarView被使用的时候有一些默认值,这里对默认值做了一点点改动,对界面进行美化。
xml代码中CalendarView部分如下:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="8"
android:orientation="vertical" > <CalendarView
android:id="@+id/calendarview"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:focusedMonthDateColor="@color/whitesmoke"
android:unfocusedMonthDateColor="@color/transparent"
android:selectedWeekBackgroundColor="@color/transparent"
android:showWeekNumber="false"
android:weekSeparatorLineColor="@color/transparent" />
</LinearLayout>
实现的效果图是这样的:

以上代码就引出了使用到了CalendarView类的属性设置,看看在设置是用得较多的代码:
| 公有方法 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| getDate()
Gets the selected date in milliseconds since January 1, 1970 00:00:00 in
getDefault() time zone. |
|||||||||||
| getDateTextAppearance()
Gets the text appearance for the calendar dates.
|
|||||||||||
| getFirstDayOfWeek()
Gets the first day of week.
|
|||||||||||
| getFocusedMonthDateColor()
Gets the color for the dates in the focused month.
|
|||||||||||
| getMaxDate()
Gets the maximal date supported by this
CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone. |
|||||||||||
| getMinDate()
Gets the minimal date supported by this
CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone. |
|||||||||||
| getSelectedDateVerticalBar()
Gets the drawable for the vertical bar shown at the beginning and at the end of the selected date.
|
|||||||||||
| getSelectedWeekBackgroundColor()
Gets the background color for the selected week.
|
|||||||||||
| getShowWeekNumber()
Gets whether to show the week number.
|
|||||||||||
| getShownWeekCount()
Gets the number of weeks to be shown.
|
|||||||||||
| getUnfocusedMonthDateColor()
Gets the color for the dates in a not focused month.
|
|||||||||||
| getWeekDayTextAppearance()
Gets the text appearance for the week day abbreviation of the calendar header.
|
|||||||||||
| getWeekNumberColor()
Gets the color for the week numbers.
|
|||||||||||
| getWeekSeparatorLineColor()
Gets the color for the separator line between weeks.
|
|||||||||||
| isEnabled()
返回该视图的活性状态.由子类来解释各自的活性状态.
|
|||||||||||
| onInitializeAccessibilityEvent(AccessibilityEvent event)
使用作为事件源的该视图的信息初始化
AccessibilityEvent 事件.换句话说, 该视图状态的变化是触发辅助事件的源头. |
|||||||||||
| onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)
使用该视图的信息初始化
AccessibilityNodeInfo 对象. |
|||||||||||
| setDate(long date)
Sets the selected date in milliseconds since January 1, 1970 00:00:00 in
getDefault() time zone. |
|||||||||||
| setDate(long date, boolean animate, boolean center)
Sets the selected date in milliseconds since January 1, 1970 00:00:00 in
getDefault() time zone. |
|||||||||||
| setDateTextAppearance(int resourceId)
Sets the text appearance for the calendar dates.
|
|||||||||||
| setEnabled(boolean enabled)
设置视图的可用状态.由子类决定视图的各可用状态如何显示.
|
|||||||||||
| setFirstDayOfWeek(int firstDayOfWeek)
Sets the first day of week.
|
|||||||||||
| setFocusedMonthDateColor(int color)
Sets the color for the dates of the focused month.
|
|||||||||||
| setMaxDate(long maxDate)
Sets the maximal date supported by this
CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone. |
|||||||||||
| setMinDate(long minDate)
Sets the minimal date supported by this
CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone. |
|||||||||||
| setOnDateChangeListener(CalendarView.OnDateChangeListener listener)
Sets the listener to be notified upon selected date change.
|
|||||||||||
| setSelectedDateVerticalBar(Drawable drawable)
Sets the drawable for the vertical bar shown at the beginning and at the end of the selected date.
|
|||||||||||
| setSelectedDateVerticalBar(int resourceId)
Sets the drawable for the vertical bar shown at the beginning and at the end of the selected date.
|
|||||||||||
| setSelectedWeekBackgroundColor(int color)
Sets the background color for the selected week.
|
|||||||||||
| setShowWeekNumber(boolean showWeekNumber)
Sets whether to show the week number.
|
|||||||||||
| setShownWeekCount(int count)
Sets the number of weeks to be shown.
|
|||||||||||
| setUnfocusedMonthDateColor(int color)
Sets the color for the dates of a not focused month.
|
|||||||||||
| setWeekDayTextAppearance(int resourceId)
Sets the text appearance for the week day abbreviation of the calendar header.
|
|||||||||||
| setWeekNumberColor(int color)
Sets the color for the week numbers.
|
|||||||||||
| setWeekSeparatorLineColor(int color)
Sets the color for the separator line between weeks.
|
|||||||||||
一般常用的方法摘借(非本人翻译,感谢翻译的朋友们):
long getDate(); //获取从1970年,1月1日,0点0分0秒到现在的毫秒数,因为返回是long型最终只能截止到2038年
int getFirstDayOfWeek(); //获取当天是本周的第几天,Android123提示返回的定义在java.util.Calendar类中,比如Calendar.Monday为星期一,定义值为2。
long getMaxDate(); //获取CalendarView支持1970年到那天的最大天数
long getMinDate(); //获取CalendarView支持1970年到那天的最小天数
boolean getShowWeekNumber(); //获取是否显示星期号
boolean isEnabled(); //是否显示本日历视图
public void setDate(long date, boolean animate, boolean center); //设置选择日期到1970年的描述
void setDate(long date); //设置选择的日期描述到1970年
void setEnabled(boolean enabled); //设置是否启用视图
void setFirstDayOfWeek(int firstDayOfWeek); //设置本周起始天数
void setMaxDate(long maxDate);
void setMinDate(long minDate);
void setOnDateChangeListener(CalendarView.OnDateChangeListener listener); //日历视图修改的接口,这个介绍看下面。
void setShowWeekNumber(boolean showWeekNumber); //设置是否显示周号
如果有了解更多,继续补充在这里
Android自带CalendarView类实现日历视图的更多相关文章
- Android学习笔记(27):日历视图Calendar
日历视图CalendarView可用于显示和选择日期. 能够调用setOnDateChangedListener()方法绑定事件监听器. 经常使用XML属性和相关方法: XML属性 相关方法 说明 a ...
- Android零基础入门第60节:日历视图CalendarView和定时器Chronometer
原文:Android零基础入门第60节:日历视图CalendarView和定时器Chronometer 上一期学习了AnalogClock.DigitalClock和TextClock时钟组件,本期继 ...
- Android日历视图(CalendarView)讲解-android学习之旅(三十六)
CalendarView简介 CalendarView用于显示和选择日期,如果希望监听事件的改变可以用setOnDateChangeListener()方法. CalendarView属性介绍 代码示 ...
- Android 日历视图(Calendarview)
1.介绍 2.常用属性 3.xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...
- 日历视图(CalendarView)组件的功能和用法
日历视图(CalendarView)可用于显示和选择日期,用户既可选择一个日期,也可通过触摸来滚动日历.如果希望监控该组件的日历改变,可调用CalendarView的setOnDateChangeLi ...
- 日历视图(CalendarView)
日历视图(Calendarview) 常用属性: android:selectedWeekBackgroundColor(设置被选中周的背景颜色) android:showWeekNumber(设置是 ...
- 调用Android自带日历功能(日历列表单、添加一个日历事件)
调用Android自带日历功能 觉得这篇文章不错,转载过来. 转载:http://blog.csdn.net/djy1992/article/details/9948393 Android手机配备有 ...
- ios日历视图实现日期输入
在视图控制器上,触摸textfield,打开的不是虚拟键盘,也不是datepicker,也不要actionsheet,要一个类似html上的日历输入框. 这类控件有很多开源的,但目标不是我想要的.参考 ...
- Expo大作战(二十七)--expo sdk api之Util(expo自带工具类),tackSnapshotAsync,Svg,SQLite
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- U盘安装Win7 64位
试了好几遍,失败了的就不说了,直接记下成功的方案,方便下次. 方法为:用UltraISO刻镜像文件到U盘,然后U盘启动安装. 具体如下: 刻u盘之前一定要验证iso镜像的完整性啊(可以用文件校验工具与 ...
- [转]ubuntu server:开机自动登录
原文链接: Ed29.com http://ed29.com/ubuntu%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95 ...
- mysql InnoDB 索引小记
0.索引结构 1).MyISAM与InnoDB索引结构比较,如下: 2).MyISAM的索引结构 主键索引和二级索引结构很像,叶子存储的都是索引以及数据存储的物理地址,其他节点存储的仅仅是索引信息.其 ...
- java 泛型类
Java泛型中的标记符含义: E - Element (在集合中使用,因为集合中存放的是元素) T - Type(Java 类) K - Key(键) V - Value(值) N - Numbe ...
- TCL语言笔记:TCL基础语法
一.什么是TCL Tcl 全称是 Tool command Language.它是一个基于字符串的命令语言,基础结构和语法非常简单,易于学习和掌握. Tcl 语言是一个解释性语言,所谓解释性是指不象其 ...
- PCB电路板上防潮绝缘抗腐蚀的三防漆
三防漆(Conformal Coating)是一种涂在电路板上以形成保护膜的方法,这层保护膜通常仅是薄薄的一层(约30-210µm),它可以用来加强电子产品的防潮.防污.防尘.防化学污染的能力,也可以 ...
- python url编码,解码
>>> urllib.unquote('%E4%B8%BD%E6%B1%9F') >>> data '\xe4\xb8\xbd\xe6\xb1\x9f' >& ...
- Unigui有用的网址
http://www.cnblogs.com/ChinaEHR/tag/Delphi/
- NPOI操作EXCEL----------NPOI基础01
来源地址:http://www.cnblogs.com/csqb-511612371/p/4878059.html 先来介绍一下NPOI基本的东西: 1.下载地址:http://npoi.codepl ...
- socklen_t在windows和linux平台下的头文件定义
windows平台下:头文件:#include<ws2tcpip.h> linux平台下:下面两个头文件都有定义:1)#include <sys/socket.h>2)#inc ...