android日历开源
⑴ Android 日历提醒软件是如何开发的
这种应用一般都是要系统权限的,一般的日历软件使用定时器alarmmanager设置定时任务后,如果应用被杀死,那是不会有提醒的。所以这种应用要保证不被杀死。
⑵ android日历控件
1.DatePicker
在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。
1.1常用xml属性
DatePicker的常用xml属性如图1所示:
图1 DatePicker常用xml属性
其中,android:calendarViewShown[boolean]用于设置是否显示calendar view;android:endYear[int]用于设置截至日期;android:maxDate[int]用于设置最大的日期;android:minDate[int]用于设置最小的日期;android:spinnersShown[boolean]用于设置是否显示spinners;android:startYear[int]用于设置起始日期。
1.2常用方法
DatePicker的常用方法有以下一些:
(1)public CalendarView getCalendarView(); //获取CalendarView
(2)public boolean getCalendarViewShown(); //获取CalendarView是否显示
(3)public int getDayOfMonth(); //获取当前日期的日
(4)public long getMaxDate(); //获取最大日期
(5)public long getMinDate(); //获取最小日期
(6)public int getMonth(); //获取当前日期的月
(7)public boolean getSpinnersShown(); //获取Spinners是否显示
(8)public int getYear(); //获取当前日期的年
(9)public void init(int year,int monthOfYear,int dayOfMonth,
DatePicker.OnDateChangedListener onDateChangedListener); //初始化日期
(10)public void setCalendarViewShown(boolean shown);//设置是否显示CalendarView
(11)public void setMaxDate(long maxDate); //设置最大日期
(12)public void setMinDate(long minDate); //设置最小日期
(13)public void setSpinnersShown(boolean shown); //设置是否显示Spinners
(14)public void updateDate(int year,int month,int dayOfMonth); //更新当前日期2.TimePicker
在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:
(1)public Integer getCurrentHour(); //获取当前时间的小时
(2)public Integer getCurrentMinute(); //获取当前时间的分钟
(3)public boolean is24HourView(); //获取是否为24小时模式
(4)public void setCurrentHour(Integer currentHour); //设置当前时间的小时
(5)public void setCurrentMinute(Integer currentMinute); //设置当前时间的分钟
(6)public void setIs24HourView(Boolean is24HourView); //设置24小时模式3.DatePickerDialog
在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:
(1)public DatePicker getDatePicker(); //获取DatePicker中的日期值
(2)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(3)public void onDateChanged(DatePicker view,int year,int month,int day); //响应日期改变事件
(4)public void updateDate(int year,int monthOfYear,int dayOfMonth); //更新当前日期4.TimePickerDialog
在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:
(1)public void onClick(DialogInterface dialog,int which); //响应对话框中的点击事件
(2)public void onTimeChanged(TimePicker view,int hourOfDay,int minute); //响应时间改变事件
(3)public void updateTime(int hourOfDay,int minuteOfHour); //更新当前时间5.AnalogClock
在Android中,AnalogClock用于显示指针式时钟,该时钟仅有时钟和分钟两个指针。6.DigitalClock
在Android中,DigitalClock用来显示数字式时钟,显示格式为HH:MM:SS AM/PM。
⑶ android 日历选择器有开源框架吗
android应用开发框架是 Application Framework. 其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。下面自底向上分析各层。
⑷ 急求日历软件
一、农历日历软件 3.02.28
软件介绍:农历日历软件是一款完全绿色免费的软件,该软件可以及时让您了解到每一天的日历与农历,各种节日等等。
二、蓝软基地节日日历软件 v1.0
软件介绍:蓝软基地节日日历软件可以查看农历日期、节气信息,并能在日期下面标注节日名称的软件。
三、Google日历同步软件 for iPhone 1.0
软件介绍:Google日历同步软件,界面和Google日历很相似,同步更新
四、日历通知软件 NotiMe V1.2.9
软件介绍:日历通知软件NotiMe是一个基于位置的谷歌日历的通知服务!它是开源的,所以你可以通过官方网站或发送邮件来帮助作者改进软件。推荐理由:...
五、日历通知软件 0.9.2 for Android
软件介绍:NotiMe!日历通知软件,是一个基于位置的谷歌日历的通知服务!它是开源的,所以你可以通过官方网站或发送邮件来帮助作者改进软件.
六、NotiMe日历通知软件V0.9.2Android1.5
软件介绍:NotiMe日历通知软件,是一个基于位置的谷歌日历的通知服务它是开源的,所以你可以通过官方网站或发送邮件来帮助作者改进软件.
七、系统栏日历软件Calendar in Status bar V2.0.3正式版
软件介绍:系统栏日历软件Calendar in Status bar是在系统栏上显示星期与日期的超强软件。
八、畜牧人日历记账软件 1.0
九、藏心阁 8.08
【藏心阁】是您管理并长期保存核心机密资料的专业化软件,是您贴身的"信息密码箱"。内含<万年历> 是您安排事务、分类记录的好帮手,一年事务一目了然。决非一般日历可比!
⑸ 开发Android 日历教程
一、创建
Android
Project
在新建对话框中输入
App
属性,SDK版本全部选最新的,不作版本兼容。主题选择
Holo
Dark。
下一步,使用默认设置
下一步,使用默认设置
下一步,使用默认配置
下一步,使用默认设置
创建完成后的初始画面
在上面的步骤中,我们选择了创建
MainActivity,ADT
帮我们在
src
目录下生成了
MainActivity.java
文件,在
res/layout/
目录下生成了
activity_main.xml
文件,并在编辑窗口打开,如上图,是
UI
界面定义文件,这是一个标准的
xml
文件,显示的图像就是由编辑器解析
xml
文件描绘出来的。点击下方的
"Graphical
Layout"
和
“activity_main.xml"
可以在图形编辑
和
xml
文本编辑器之间切换。
为了项目结构清晰,我们新建一个包,专门用来放
activity:
包名定为
ui.activity
这里,将
Package
Explorer
的显示方式改为
Hierarchical
拖动
MainActivity.java
到
ui.activity
包下,弹出更新对话框,选择OK。
由于改变了
activity
的位置,我们需要更新
AndroidManifest.xml,更正
Application
的配置。
如下图,双击打开
AndroidManifest.xml,选择
Application
标签页,选中
Application
Nodes
中的
MainActivity,右边的
Name
属性是错误的,点击
Browse
重新选择,设为:com.lingsmm.purelunarcalendar.ui.acivity
继续向下拉,将
Screen
orientation
设置为
”sensorLandscape“,表示屏幕方向是横屏,并感应重力方向作调整。
界面编辑窗口上方是工具栏:
1:多屏预览,如果你的程序要兼容多种尺寸的设备,可以选择此项。
2:主屏尺寸设定(我们的应用,不作兼容,只针对
google
Nexus
7,将此选择为
Nexus
7,以10”画面进行编辑布局)
3:屏幕方向,我们选择横屏
4:主题
5:关联的
Java
类,Context
实例由它创建。
6:多语言支持。
7:系统版本选择,如果兼容多版本,可以选择不同版本进行预览。
⑹ 做一个android日历,从哪儿入手
如果你搭建好环境的话建议你先学一下view布局
首先你要在第一个activity创建一个垂直布局的LinearLayout,
然后再新建个水平布局的LinearLayout用来承载上面按钮的年月日
另外再建个垂直的LinearLayout
在下面这个LinearLayout新建1个水平的LinearLayout来循环生成7个标头“星期一,星期二”这样的
然后在循环建4个LinearLayout循环生成日期实体框
标题框和日期框分别新建一个类,继承view函数,在循环里面生成,构造函数填入宽高
这两个类里面分别重构ondraw()函数。
这样就ok了
⑺ Android开源日历,materialcalendarview的选中背景如何缩小
因为项目需要,上github找了不少日历控件,最终敲定了MaterialCalendarView。
首先昵,要说下开源控件使用的好处,我感觉大致有以下几个方面:
1).网上有现成的为啥不去用,你觉得你自己写的比别人牛逼吗?
2).涉及年月日日期处理,滚动事件,相互交错,没有紧密的逻辑思维去构架,肯定漏洞百出,想想数不尽的bug,不寒而栗。
3).最关键的是,我懒,我懒,我懒!自己写费时费力,牛逼的日历组件都可以做一个app了,再说我只是想要一个选择日期功能。
说了一堆废话,现在我们来分析源码了。。。。。
老外写的东西层次感还是很分明的,我大致给它分为三个部分:日期的格式化,自定义的span效果,以及日历控件的实现。不用说日历实现是最重要的一部分了,我们由简入繁,从日期分析开始。
1)format,顾名思义,格式化,达到我们想要的日期展示样式。
format包中有八个java文件,其中有三个接口,五个实现类。
三个接口:
DayFormatter 通过自定义的CalendarDay对象,得到一个日期的字符串标签。其实现类是DateFormatDayFormatter。
TitleFormatter 通过自定义的CalendarDay对象,得到一个包含年月的字符串标签,作为MaterialCalendarView的标签。其实现类为DateFormatTitleFormatter和MonthArrayTitleFormatter。
WeekDayFormatter 将一个日期中Calendar.DAY_OF_YEAR对应的值转换成一个字符串标签。其实现类是ArrayWeekDayFormatter。
这三个接口都只有一个方法,有的提供了一个公有的默认实现类。其功能就是将日期的数值转换成本地化的可读字符串。在这里我可以想到的是,因为使用了接口,我们可以很灵活的替换其实现类,而不用更改日历控件中的代码,实现定制化的需求。
2)span
spans包中只有一个类DotSpan,实现了在文字下方画一个小圆点的效果。这是一个示例,我们可以模仿它来实现自己想要的效果。比如,如果想在日期的下方用一行小字显示,用span是很方便的一种实现方式。
3)MaterialCalendarView
这个包中有16个Java文件,是此开源控件主要的代码所在。其中,组合成最终控件的四个最重要的类是DayView,WeekDayView,MonthView和MaterialCalendarView。
DayView 继承自CheckedTextView。之所以用CheckedTextView而不是TextView,是为了使用android.R.attr.state_checked状态,在日期被选中时显示不同的背景图片。
WeekDayView 继承自TextView,用于在日历的第一排显示星期的标签。
MonthView 继承自ViewGroup,它包含7个WeekDayView和42个DayView,即一个7*7的矩形,其中每一个矩形称为一个tile。
MaterialCalendarView 继承自ViewGroup,包含上方的title和下方的ViewPager。这个控件的宽度如果不能被7整除,那么它会自动缩小其内容,并居中。
老外实现MaterialCalendarView层次感非常强烈,注释清楚,本人愚钝啊,时刻不丢粗心的毛病,改造日历期间很多功能点找不到,修改日历的disable事件,点击效果,日历字体大小。。。。。等等。好了,废话不多说,先来一份改造好的日历图,压压惊!左边是我改造的,右边是我们伟大开源作者的。(提倡开源,一直很欣赏这些懂的分享的人,只有弱者才会害怕自己的东西被人拿去)
左边的日历我针对自己项目进行了定制设计,调节了日历大小,之前的dayview是宽高等比大小,宽度是平分屏幕,所以这样导致高度很高,相互之间间隔比较大,我通过monthview的onMeasure方法,将高度修改为
int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(
(int)(measureTileSize*0.65),
MeasureSpec.EXACTLY
);
这样长宽就3/2了,这个时候只是第一步,仅仅只有monthview大小变了,整体的view大小还没有变,所以我们还要处理下MaterialCalendarView的onMeasure 方法,对整体高度进行修改
⑻ android日历开发,用gridview显示日历,通过外界按钮更新界面显示
很多日历的demo,细找找吧。
http://search.apkbus.com/f/search?q=%E6%97%A5%E5%8E%86&sId=5578702&ts=1377235885&mySign=05c8dd5a&menu=1&rfh=1&qs=txt.form.a
⑼ android开发一个日历程序关键地方在哪里
最主要的地方其实就是界面的设计与各种控件、动画的灵活调用。
了解android其实最主要就是了解怎么使用它的控件。
⑽ android开发如何绘制日历表格大神们帮帮小弟吧!
方法很多,看你用哪种。而且网上很多开源的,没有自己绘制。
1、用android 的方式绘制。这里不多说,网上下个demo摸索去。
2、用webview,然后采用web开发中常用的日历就可以了,当然你也可以用js自己绘制。