Android凝碧剑之CalendarView之万年历

Android万年历应用开发:2015新技术集成 Java 8引入了一套全新的日期时间API,提供了更强大和灵活的日期时间处理能力。新的java.time包中引入了LocalDate、LocalTime和LocalDateTime等类,它们是不可变且线程安全的。 阅读详情

传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.youkuaiyun.com/leverage_1229


凝碧剑

        张召重一挺凝碧剑,纵到陈家洛身前,说道:“你年纪轻轻,居然有这身功夫,你师父是谁?”。。。周绮拿了凝碧剑细看,找了几柄纯钢旧刀剑,一剑削下,应手而断,果然锐利无匹。徐天宏在一旁微笑注视。

        今天我们学习如何利用Android平台“凝碧剑”CalendarView实现万年历的效果。日历视图控件是在3.0Honeycomb之后引入的,可以显示网格状的日历内容。那么对于3.0Honeycomb之前的版本,如果需要使用日历控件只能借助于第三方。CalendarView使用起来非常方便,基本就是拿来即用。下面我们给出该情景的案例:

一、案例技术要点

1.构建一个CalendarView视图类用于在当前Activity上显示万年历。

2.为CalendarView对象设置日期监听OnDateChangeListener,并复写回调方法onSelectedDayChange()。

二、案例代码陈列

工程包目录


AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.lynn.calendarview"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".CalendarViewMainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
strings.xml
<resources>

    <string name="app_name">Android万年历CalendarView</string>

</resources>
main.xml
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <CalendarView
        android:id="@+id/calendarView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>
CalendarViewMainActivity.java
package cn.lynn.calendarview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.CalendarView.OnDateChangeListener;
import android.widget.Toast;

public class CalendarViewMainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView);
        calendarView.setOnDateChangeListener(new OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                String date = year + "年" + month + "月" + dayOfMonth +"日";
                Toast.makeText(CalendarViewMainActivity.this, date, Toast.LENGTH_LONG).show();
            }
        });
    }
}
三、案例效果展示

 
Android万年历应用源码分析与实践 Android系统基于Linux内核,采用分层的架构设计,从下至上分为Linux内核层、硬件抽象层(HAL)、系统运行库、应用框架层和应用层。其中,应用层是我们最为熟知的部分,提供了丰富的API接口供开发者使用。在Android应用开发中,布局管理器是用于控制用户界面中组件(View)位置和大小的组件。以下是几种常用的布局类型,以及它们的基本介绍:线性布局(LinearLayout):按水平或垂直方向堆叠子视图。相对布局(RelativeLayout) 阅读详情

相关推荐

CalendarView

该CalendarView只有一个java文件,复制到项目中即可使用

安卓自定义万年历CalendarView的用法

//安卓自定义万年历CalendarView的用法,点击可以获取日期 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

大城小小爱的博客 4056

android万年历(两种方法显示农历)

android万年历源码,两种方式显示农历信息。

android万年历编程,Android 日历、Android 农历日历 Android 日历节假日

【实例简介】昨天实现了一个日历控件,主要包含公历和农历的展示,今天将其完成全部功能,主要包含节假日的展示、二十四节气展示。支持手势滑动显示下一个月.如有实现不合理的地方希望大家提供宝贵的意见。【实例截图】【核心代码】日历完整(公历、农历、节假日、节气)└── Calendar├── AndroidManifest.xml├── bin│ ├── Calendar.apk│ ├── Cale...

weixin_39598568的博客 1012

Android万年历设计

有关Android中的日历。万年历的源代码以及相应的截图。

android简易万年历源码

带有农历日期,节假日与二十四节气的标注,不含日程,修改下界面就可直接使用

万年历日程提醒c语言,Android 日历 万年历 源代码(支持日程提醒)

[android]代码库package com.pwp.activity;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import com.pwp.calendar.LunarCalendar;import com.pwp.c...

weixin_33851180的博客 978

万年历(完美终结版)

自制万年历,完美+完整资料,不可多得哦。大家尽情分享下载吧

Android Widget日历 完整示例分析

第六部分 Widget日历 本例实现了Widget日历,用来显示当前的日期,时间等信息。要学习开发Widget开发,需要了解AppWidget的框架结构。基于该框架,开发者可以在Ophone及模拟器上开发"外形" 类似传统的Widget小应用程序,并将其嵌入到其他应用中。 注意:Widget设计好UI后根据需要来完成更新,如果程序不需要使用定时来更新AppWidget,则最好不要使用定时更新...

yuanlanjun 391

android:中华万年历

中华万年历 安卓使用 java编译,简易万年历带有部分附加功能能

Calendar(带备忘录和农历功能)

Calendar(带备忘录和农历功能),一个用户java swing编写的日历。页面漂亮!并有打包程序和源码

高效实现Android日历功能 (带农历日期、节气)

关于带农历节气的日历

qq_65679572的博客 2484

SSD性能测试进阶:用fio的io_uring引擎榨干你的NVMe硬盘

本文深入探讨了如何利用fio的io_uring引擎对NVMe SSD进行深度性能测试。通过对比传统libaio引擎,详解了io_uring低开销、高并发的优势。文章提供了从测试矩阵设计、队列深度分析到写入放大观察和尾延迟可视化的完整进阶方法,并附有实战案例与脚本,旨在帮助用户科学压榨NVMe硬盘的极限性能,获取更真实的评估数据。

weixin_29247219的博客 327

学习Android的第十四天

在Android中,CalendarView.OnDateChangeListener接口定义了一个回调方法onSelectedDayChange(),该方法在用户改变CalendarView选择的日期时被调用。在Android中,TimePicker.OnTimeChangedListener接口定义了一个回调方法onTimeChanged(),该方法在用户改变TimePicker的时间时被调用。在Android中,DatePicker是一个用户界面组件,用于允许用户选择日期。

m0_74293254的博客 1816

提供一个微信投票刷票的js代码

最近几天,有个朋友找我去写一个脚本帮他 在微信上刷票、微信投票刷票,我大概看了一下,本次微信投票刷票其实就是根据微信的openid来限制,每个openid只能投三次票的限制。上图可以看出,其实只要openid,和toopenid即可,openid是自己的微信id,toopenid是投票对象的微信id,那我们定时修改openid即可给某一个人刷投票。把这段代码复制到浏览器F12之后的console里,直接回车即可开始微信投票刷票(刷新或关闭浏览器即可停止刷票)//生成随机的ip地址。

qq_858865388专业提供快速微信投票教程攻略和方法的博客 2万+

3小时学会AI建站!无需编程,个人简历独立站开发速成指南

3小时学会AI建站!个人简历独立站开发速成指南

pei_laoshi的博客 1262

Android根据Calendar View获取具体的年,月,日

首先把一个Calendar对象设置为对象的属性或者类属性(提供外部访问) Calendar c = Calendar.getInstance(); 然后是获取日期的部分 //显示你的生日 final CalendarView calendar = (CalendarView)findViewById(R.id.calendarView); calendar.setOnDateChangeListener(new CalendarView.OnDateChangeLis

qq_44299157的博客 1537

LK32T102 单片机 操作GPIO实现流水灯(1)

前言: LK32T10232(32位)单片机是一款专为电机控制器和数字电源开发的高性能 MCU。采Cortex-M0 内核,最高工作频率可达 72Mhz,ADC 采样速率 达 1Msps。同时具备协处理器单元可满足各种乘法、除法、移位以及各种 复杂函数运算。 LK32T102(32位)支持单电源供电,且内嵌高精度高速及低速振荡器,以及具备 多种低功耗工作模式。同时,集成了多路增强型 PWM,多通道模拟比较 器和高速运算放大器,可满足多种电机及功率控制应用,并简化系统成本。...

qq_58676187的博客 3189

万年历开源 android,简单干净的万年历

本项目目前已开源,项目地址:https://github.com/mainh/MainCalendar首先感谢在网络上的开源达人,没有你们我是不会做出这款APP的,如果喜欢本APP的人数较多我也想开源,不过这款APP的这点功能真不知道有没有开源的必要。。。网上流行的万年历应用不是太过强大而过于臃肿就是功能太过简单,总之没有符合心意的应用,那就自己写一个吧,经过不知多少天的业余时间编写测试,目前使用...

weixin_34556619的博客 1266

Android - 蓝牙开发

文章目录科普SIG类型制式编程Classic BluetoothBluetooth Low Energy蓝牙的UUID是什么?有什么用? 科普 https://zh.wikipedia.org/wiki/%E8%97%8D%E7%89%99 蓝牙(英语:Bluetooth),一种无线通讯技术标准,用来让固定与移动设备,在短距离间交换资料,以形成个人局域网(PAN)。其使用短波特高频(UHF)无线电波,经由 2.4 至 2.485 GHz 的 ISM(工业、科学、医疗)频段来进行通信。1994 年由电信商

qq_43323826的博客 1万+

未隔离电源设备使用usb转串口调试导致串口模块爆炸烧坏事故记录

这个事就发生在前两天,我们公司的wifi模块被客户用到了咖啡机上,客户寄了一台整机给我们协助调试,还送了几包咖啡豆,本想着还能打个咖啡喝一喝的,但就在咖啡机刚寄过来第一天,就出事了。而这个事故的发生,竟然仅仅是因为同事接了个串口模块到电脑调试打印导致的。谁也想不到,这个3.3V的供电的wifi模块居然还有这么大的威力。直接将usb转TTL串口模块的转换芯片给爆开了,咖啡机也给弄坏了,据同事描述当时情况就只见到一片火光和一声巨响,状况比较惨烈,所幸的是笔记本电脑没有烧坏,但是直接给崩蓝屏了。 ...

fangye945a的博客 6195

Android 第二十二章 CalendarView

CalendarView 日历简单实用介绍

weixin_43969550的博客 927

在 ABAP 环境中构建自定义健康监控指标:面向 SAP Cloud ALM 与 SAP Focused Run 的完整实践

本文介绍了在ABAP环境中开发自定义健康监控指标的方法。主要内容包括:1)标准监控指标的不足,如无法反映业务应用层面的问题;2)自定义监控架构,通过metric provider定义指标,由采集作业周期性获取数据并存储;3)核心实现技术,包括IF_GSM_API_PROVIDER接口和三个关键方法;4)指标从ABAP推送到SAP Cloud ALM/Focused Run的完整流程;5)开发实践步骤,从业务分析到具体实现。该方案可帮助团队监控业务关键指标,提升系统运维能力。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 263

jsp软件公司员工管理系统

jsp软件-公司员工管理系统本系统带程序说明书   有需要的可以去我上传的资源里面找,找不到的话,评论我,或者站内私信留下邮箱,我看到机会给你发,也可以主动联系我博客名。因为最近太忙一直没有上传完。emmmm...

qq_820629211的博客 3535

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: GoF23种设计模式之行为型模式之策略模式
下一篇: Android白虹剑之EditView之非法输入
innovation
博客等级 码龄14年 251粉丝 136原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值