android 开发教程之日历项目实践(一)
前言:决定开始学习 Android 平台下的软件开发,以日历作为实践项目,进行一周后,基本完成。 为了总结及笔记,并给有需要的朋友借鉴,开始整理本教程。
开始之前:
在编写程序之前,需要进行项目设计,因为是练习项目,主要是确定软件 UI 界面,这是已经完成的屏幕截图:
对这个画面,进一步作分解:
这里总共分解为三个 View 文件:
1:activity_main.xml
作为启动的主画面,新建项目时,首先生成。
2:view_calendar_table.xml
定义月历视图,头部固定,其它行由代码动态添加。
3:view_calendar_day_cell.xml
定义每一天的视图,主要由三个元素组成:公历日期,农历信息,是否是今天的标记图像。
相应的代码类定义:
因为要实现左右滑屏,这里采用的方案是使用 ViewPager。CalendarPagerAdapter 为 ViewPager 提供多帧管理,我们设计的目标是显示公历 1901 - 2100 年区间的月历,相应的帧画面有 (2100 - 1900) * 12 幅帧画面,如果多创建出来,将占用非常大的内存资源。将由 ViewPager 来管理,由它决定某一帧何时创建,何时销毁,以节约内存资源。更多信息请参考:http://developer.android.com/reference/android/support/v4/view/ViewPager.html
相关推荐
-
Android自定义日历Calender代码实现
产品要做签到功能,签到功能要基于一个日历来进行,所以就根据 要求自定义了一个日历 自定义控件相信做android都知道: (1)首先创建一个类,继承一个容器类或者是一个控件 (2)然后就是你需要设置的属性等的,在attrs文件夹中 (3)然后就是在类里边进行属性的设置以及布局等等功能的添加 其实自定义一个日历问题都不多,很多人都会想到通过一个gridView然后填充就可以,确实是这样,主要是在显示每个月的第一天的位置以及每个月显示多少天有点绕. 思路:通过判断当前星期几然后进行日历的填充,但是填
-
Android自定义控件实现可多选课程日历CalendarView
可多选课程日历CalendarView的效果图 开发环境 IDE版本:AndroidStudio2.0 物理机版本:Win7旗舰版(64位) 前言 最近的项目中用到了一个课程选择的日历View,于是在网上搜了搜自定义日历View,发现基本上都是单选的,不能够满足项目中的需求.于是自己重新造了个轮子,写了个可以被多选的自定义日历View.最后面会给出GitHub地址. 代码实现 package widget; import android.content.Context; import andro
-
Android实现自定义日历
自定义日历控件,支持旧历.节气.日期标注.点击操作 (参考网络上的日历控件改写) 注:将下面的四张资源图片拷贝到所建包的下一个image目录中,如Calendar.java 所在包为 cc.util.android.view,则需要再创建一个包cc.util.android.view.image 然后将图片拷贝进去 /****************从此出开始将代码拷贝到一个文件中*******************/ package cc.util.android.view; import
-
Android实现日历控件示例代码
做的是一个酒店的项目,可以选择入住和离开的日期.声明为了省事在网上找的资料,自己修改的逻辑,希望对需要的朋友有帮助.喜欢的给个好评.谢谢啦!祝生活愉快! 先上图 第一步,搭建布局xml <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_w
-
Android使用GridLayout绘制自定义日历控件
效果图 思路:就是先设置Gridlayout的行列数,然后往里面放置一定数目的自定义日历按钮控件,最后实现日历逻辑就可以了. 步骤: 第一步:自定义日历控件(初步) 第二步:实现自定义单个日期按钮控件 第三步:将第二步得到的控件动态添加到第一步的布局中,并实现日期逻辑 第四步:编写单个日期点击监听器接口 第一步:自定义日历控件(初步) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln
-
Android使用GridView实现日历的简单功能
简单的日历实现,只是显示了每一个月,没有显示当天和记事这些功能 主要是计算月初是周几,月末是周几,然后相应的显示上一月多少天和下一月多少天. 先看一下关于日期的用到的几个工具类 /** * 获取该月天数 */ public static int getCurrentMonthDay(long millSec) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(millSec); calendar.set(
-
android 开发教程之日历项目实践(二)
一.创建 Android Project 在新建对话框中输入 App 属性,SDK版本全部选最新的,不作版本兼容.主题选择 Holo Dark. 下一步,使用默认设置 下一步,使用默认设置 下一步,使用默认配置 下一步,使用默认设置 创建完成后的初始画面 在上面的步骤中,我们选择了创建 MainActivity,ADT 帮我们在 src 目录下生成了 MainActivity.java 文件,在 res/layout/ 目录下生成了 activity_main.xml 文件,并在编辑窗口打开,如
-
Android自定义可标记日历效果
先直接看看效果吧 初始情况 点击一个作为标记 再次点击后删除 3.这里还要感谢前辈的代码作为参考,毕竟以前也没有写过关于日历方面的东西,别人确实写得不错,我在原基础上加入了数据库操作等补充,以完成自己实际需求,作为尊重首先给出原作者的连接 就是这里–>Android自定义控件实现可多选课程日历CalendarView 4.然后贴出来关于数据库操作的代码,给大家作为参考 DatabaseHelper .java 这是关于简单数据库操作的部分 package com.xugongming38.edi
-
java制作android 日历代码分享
代码很简单,就不多废话了 复制代码 代码如下: //读取日历事件 public static void getCalendarInfo(Activity activity,String tag){ String[] projection = new String[]{CalendarContract.Events._ID,CalendarContract.Events.TITLE}; ContentResolver cr = activity.getCon
-
Android自定义日历控件实例详解
为什么要自定义控件 有时,原生控件不能满足我们对于外观和功能的需求,这时候可以自定义控件来定制外观或功能:有时,原生控件可以通过复杂的编码实现想要的功能,这时候可以自定义控件来提高代码的可复用性. 如何自定义控件 下面我通过我在github上开源的Android-CalendarView项目为例,来介绍一下自定义控件的方法.该项目中自定义的控件类名是CalendarView.这个自定义控件覆盖了一些自定义控件时常需要重写的一些方法. 构造函数 为了支持本控件既能使用xml布局文件声明,也可在ja
随机推荐
- jquery.form.js框架实现文件上传功能案例解析(springmvc)
- 用vbs对文本文件的内容进行排序
- vbs实现只复制比目标文件更新的文件
- java正则表达式应用的实例代码
- Mybatis高级映射、动态SQL及获得自增主键的解析
- C++ 中静态成员函数与非静态成员函数的区别
- Android中使用am命令实现在命令行启动程序详解
- MySQL SHOW 命令的使用介绍
- mysql如何查询两个日期之间最大的连续登录天数
- linux命令行批量创建目录详解
- 如何解决在jsp页面上导入.xls文件报错问题
- 第一次动手实现bootstrap table分页效果
- Javascript面象对象成员、共享成员变量实验
- WCF实现的计算器功能实例
- 自定义 ISA Server 2006 中的登录表单
- Python的Flask框架标配模板引擎Jinja2的使用教程
- C# Console类的具体用法
- PHP中Socket连接及读写数据超时问题分析
- android 获取屏幕像素大小的正确方法
- 纯js代码生成可搜索选择下拉列表的实例