miCalendar 是一个高仿小米的日历控件;支持快速滑动,并且可以显示农历,节假日,24节气的日历,可自定义日历的样式,添加特殊日期标注,切换月份,设置指定日期;用于实现常用的日期选择,日历展示功能。使用起来非常简单,就像使用ListView一样。注意:iOS 设备使用时需勾选日历权限,否则会闪退
注:针对单日的样式优先级序列为: selected>setSpecialDate>specialDate>styles_specialDate>today 插件截图:
打开日历
open({params}, callback(ret))
rect:
{
x: 0, //(可选项)数字类型;插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;插件的宽度;默认:所属的 Window 或 Frame 的宽度
h: 220 //(可选项)数字类型;插件的高度;默认:220
}
currentDateTitle:
{
h: 44 , //(可选项)数字类型;当前日期的高度;默认:44
size:24, //(可选项) 数字类型;当前日期的文字大小;默认:24
color:'#C0FF3E', //(可选项) 字符串类型;当前日期的文字的颜色;默认:'#C0FF3E'
backgroundColor:'#BA55D3'//(可选项) 字符串类型;当前日期的背景颜色;默认:'#BA55D3'
}
styles:
{
bg: 'rgba(0,0,0,0)', //(可选项)字符串类型;日历整体背景,支持 rgb、rgba、#、图片路径,要求本地路径(fs://、widget://);默认:'rgba(0,0,0,0)'(iOS仅支持颜色设置)
viewbg: 'rgba(0,0,0,0)', //(可选项)字符串类型;整个view背景,支持 rgb、rgba、#;默认:'rgba(0,0,0,0)'(仅ios支持)
cornerRadius:1, //(可选性)数字类型;设备当前日期和选中日期背景圆角;默认:1
title: { //(可选项)JSON对象,星期的样式
color: '#3b3b3b', //(可选项)字符串类型;文字的颜色,支持 rgb、rgba、#;默认:'#3b3b3b'
size: 12 //(可选项)数字类型;星期文字的大小;默认:12
},
date: { //(可选项)JSON对象,普通日期的样式
color: '#3b3b3b', //(可选项)字符串类型;普通日期文字的颜色;支持 rgb、rgba、#;默认:'#3b3b3b'
selectedColor: '#fff', //(可选项)字符串类型;普通日期选中后的文字颜色,支持 rgb、rgba、#;默认:'#fff'
selectedBg: '#a8d500', //(可选项)字符串类型;普通日期选中后的背景,支持 rgb、rgba、#,默认:'#a8d500'
size: 12 //(可选项)数字类型;普通日期文字的大小;默认:12
},
today: { //(可选项)JSON对象,设备当前日期的样式
color: '#a8d500', //(可选项)字符串类型;当前日期的文字颜色,支持 rgb、rgba、#;默认:'#a8d500'
bg: '#f00' //(可选项)字符串类型;当前日期的背景,支持 rgb、rgba、#,默认'#f00'
},
}
specialDate:
[{
date: '2015-05-01' //字符串类型;日期字符串,格式为:yyyy-MM-dd
badge: 'widget://' //(可选项)字符串类型;表示休息或者上班,图片路径,要求本地路径(fs://、widget://);默认:
}]
isLunarCalendar:
scrollEnabled:
isToday:
fixedOn:
fixed:
ret:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围:
//show(日历显示)
//click(点击日期)
date:'2015-05-01' //字符串类型;当前选择的日期
chinaDate:' 农历己亥(猪)年三月初七' //字符串类型:农历年月日
}
var miCalendar = api.require('miCalendar');
miCalendar.open({
rect: {
x: 30,
y: api.frameHeight / 2 - 170,
w: api.frameWidth,
h: 340
},
currentDateTitle: {
h: 44 ,
size:24,
color:'#C0FF3E',
backgroundColor:'#BA55D3'
},
styles: {
bg: 'rgba(0,0,0,0)',
title: {
color: '#3b3b3b',
size: 12
},
date: {
color: '#3b3b3b',
selectedColor: '#fff',
selectedBg: '#a8d500',
size: 12
},
today: {
color: 'rgb(230,46,37)',
bg: '#f00'
},
},
specialDate: [{
date: '2015-06-01'
}],
isLunarCalendar:true,
fixedOn: api.frameName,
fixed: false
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置特殊日期
setSpecialDates({params})
specialDates:
[{
date: '2015-07-27' //字符串类型;日期字符串,格式为:yyyy-MM-dd
badge: 'widget://' //(可选项)字符串类型;表示上班,图片路径,要求本地路径(fs://、widget://);默认:
}]
var miCalendar = api.require('miCalendar');
miCalendar.setSpecialDates({
specialDates: [{
date: '2015-12-07',
badge:''
}, {
date: '2015-12-08',
badge:''
}]
});
iOS系统,Android系统
可提供的1.0.0及更高版本
取消已设置的特殊假期状态
cancelSpecialDates({params})
specialDates:
var miCalendar = api.require('miCalendar');
miCalendar.cancelSpecialDates({
specialDates: ['2015-12-08', '2015-12-07']
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭日历
close()
var miCalendar = api.require('miCalendar');
miCalendar.close();
iOS系统,Android系统
可提供的1.0.0及更高版本
显示日历
show()
var miCalendar = api.require('miCalendar');
miCalendar.show();
iOS系统,Android系统
可提供的1.0.0及更高版本
隐藏日历
hide()
var miCalendar = api.require('miCalendar');
miCalendar.hide();
iOS系统,Android系统
可提供的1.0.0及更高版本
显示下个月
nextMonth(callback(ret))
ret:
{
year: '2015', //字符串类型;当前显示的年份
month: '8' //字符串类型;当前显示的月份
}
var miCalendar = api.require('miCalendar');
miCalendar.nextMonth(function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
显示上个月
prevMonth(callback(ret))
ret:
{
year: '2015', //字符串类型;当前显示的年份
month: '6' //字符串类型;当前显示的月份
}
var miCalendar = api.require('miCalendar');
miCalendar.prevMonth(function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置选中日期(可通过此接口实现翻页效果)
setDate({params}, callback(ret))
date:
ignoreSelected:
ret:
{
status: true //布尔型;true||false
}
var miCalendar = api.require('miCalendar');
miCalendar.setDate({
date: '2015-08-08',
ignoreSelected: false
}, function(ret, err) {
if (ret.status) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本