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

Springboot(五十六)SpringBoot3集成SkyWalking

Dskywalking.collector.backend_service:表示skywalking的collector服务的IP及端口。注意上图中红框标注的位置,我们可以根据启动Springboot项目启动时候控制台输出的ID进行筛选。注意上图中红框标注的位置,我们可以根据启动Springboot项目启动时候控制台输出的ID进行筛选。其他的版本的 APM 地址(这个我不需要,我们是在docker中部署的,留给有需要的同学)其他的java 版本的 Agents 地址。

camellia的博客 2601

学习Android的第十四天

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

m0_74293254的博客 1816

基于Q-learning的无人机三维路径规划(含完整C++代码)

基于Q-learning的无人机三维路径规划(含完整C++代码)

weixin_54186646的博客 1万+

3D Slicer中安装MedSAM插件

大家应该都读过这篇论文:《Segment Anything in Medical Images》这个插件便是该论文团队推出的在3D Slicer上使用的插件,可以分割医学图像的任何感兴趣区域。

m0_73719342的博客 2331

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

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

qq_44299157的博客 1537

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线

在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如

weixin_31766003的博客 285

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

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

weixin_34556619的博客 1266

我从华为身上学到的项目管理经验 -- 需求篇

记录这三年,关于项目管理上的一些心得体会 – 需求篇对于需求,我们可以根据不同的角色、理解拆分成三个过程:简单来说就是:需求分析原始需求、 需求拆分为系统需求、 需求实现为功能需求**需求分析**: 将客户需求 输出成 需求描述。 需求经理需要把 需求 转换成 客户能够接受的 初始需求 IR(Initial Requirement) 对于用户来说,我只管提 我的原始需求是

minminzhe520的博客 3万+

【FPGA教程案例49】控制案例1——基于FPGA的PID控制器verilog实现

PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见。PID控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过Kp,Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。图1为PID控制器的基本结构框图。PID控制器以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。...

FPGA/MATLAB学习教程/源码/项目合作开发 4531

Android 第二十二章 CalendarView

CalendarView 日历简单实用介绍

weixin_43969550的博客 927

【在 WSL2 GUI 中使用 pulseaudio 播放声音】

最近在搞一个Linux项目,由于WSL2中需要用到声音外放,无奈只能潜心研究。后来就使用了一种折中的方式替代,那就是pulseaudio。目前来讲WSL2对硬件外设的支持还是不太友好,关于USB的支持我之前在其他文章中已经论述过了,这里不讨论。1、Windows11别忘记打开声音2、可能有一定延迟,因为是通过网络传输的。3、效果的话只能见仁见智了,如果不能满足要求就安装一个实实在在的Ubuntu吧!

jiexijihe945的博客 4532

jsp软件公司员工管理系统

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

qq_820629211的博客 3535

Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑

1、先上一个集成到QtCreater中的效果图: 2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator 3、集成插件到QtCreater中的方法: (1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位 (2)插件下载下来后工程预览: 我选择msvc版本的SDK,打开找到匹配的SDK:...

小米的修行之路 2793

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 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、付费专栏及课程。

余额充值