二、创建样式

日历显示的表格线,使用 Cell 填充图形的边框来实现,为了统一,我们先定义边框线的颜色及线条精细。

另外还要定义一系统填充样式等。

创建 color:

color_calendar_border 表格线

color_calendar_title_gregorian 标题栏日期年月文字的颜色color_calendar_title_lunar 标题栏农历color_calendar_title_startcolor_calendar_title_endcolor_calendar_title_addition 标题栏 节日,节气color_calendar_weekindex 年单位周序号color_calendar_weekindex_backgroundcolor_calendar_weekend 周末color_calendar_weekend_backgroundcolor_calendar_header 表头color_calendar_header_backgroundcolor_calendar_outrange 非本月日期color_calendar_outrange_backgroundcolor_calendar_normal_gregorian 公历日期color_calendar_normal_lunar  农历日期color_calendar_normal_backgroundcolor_calendar_today_gregorian 今天公历日期color_calendar_today_lunar 今天农历日期color_calendar_today_backgroundcolor_calendar_solarterm 节气color_calendar_festival 节日color_calendar_pressed 点击单元格填充背景

color_calendar_focused 焦点单元格填充背景

点击 下图 菜单 Search 下面的图标(New Android XML File)

选择 Resource Type -> Values,输入文件名 -> colors,选择 Root Element -> resources,点击 Finish。

定义 color_calendar_border

#3fff

#cfff

#cfff

#c000

#6000

#f63

#3fff

#369f

#9fff

#3f99

#9fff

#6000

#3fff

#3fff

#cfff

#9fff

#0000

#cfff

#9fff

#06c

#c0c3

#cf90

#306c

#606c

Color 的值由四部分组成:透明度,Red, Green, Blue,每部分可以用一位或两位十六进制数字表示,透明度可以省略。

如:

ffff 或 ffffffff 表示不透明白色,前面的透明度可以省略:fff 或 ffffff

7f00 表示半透明的红色

更多请查看:http://developer.android.com/guide/topics/resources/more-resources.html#Color

将颜色定义统一放在一个文件中,是出于两点考虑,一是多处用到同一种颜色定义,这样一处修改,相应的位置都会跟着变,另外则是为了修改方便,无须到处去找某一个文件。上面的 color_calendar_border 被表格的各种状态填充图形用到,而像 color_calendar_weelndex_background 只有一处用到,如果不想统一管理,也可以不在这里定义,在定义 shape 时,直接使用固定值。创建 dimen:

点击 下图 菜单 Search 下面的图标(New Android XML File)

选择 Resource Type -> Values,输入文件名 -> dimens,选择 Root Element -> resources,点击 Finish。

完成的 xml 文件内容:

1dp

尺寸的单位主要有六种:dp, sp, pt, px, mm, in,更多介绍请参照:http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

创建 Color State List

在我们的日历中,单元格有三种状态,分别是无焦点,按下,有焦点,为了在不同的状态下显示不同的颜色,可以定义 Color State List。

关于 Color State List,更多请参照:http://developer.android.com/guide/topics/resources/color-list-resource.html。

Color State List 列表:colorlist_calendar_normal

colorlist_calendar_outrange

colorlist_calendar_weekend

colorlist_calendar_today

点击 下图 菜单 Search 下面的图标(New Android XML File)

选择 Resource Type -> Drawable,输入文件名 -> colorlist_calendar_outrange,选择 Root Element -> selector,点击 Finish。完成的 xml 文件:

其它也同样创建。

创建的 drawable:

shape_calendar_titlebar.xml 主画面标题栏填充背景shape_calendar_header.xml 表头填充背景shape_calendar_cell_weekindex.xml 年为单元的周序号单元格填充背景shape_calendar_cell_weekend.xml 周末日期单元格填充背景shape_calendar_cell_normal.xml 当月普通日期单元格填充背景shape_calendar_cell_outrange.xml 非当前月日期单元格填充背景shape_calendar_cell_today.xml 今天单元格填充背景

点击 下图 菜单 Search 下面的图标(New Android XML File)

选择 Resource Type -> Drawable,输入文件名 -> shpae_calendar_titlebar,选择 Root Element -> shape,点击 Finish。

输入 shape 定义:

android:startColor="@color/color_calendar_title_start"

android:endColor="@color/color_calendar_title_end"

/>

这段定义代码会帮我们生成一个圆角矩形,填充颜色是上下渐变的。

radius = 圆角大小

angle = 渐变填充方向(45的位数,0-360,90 表示从上往下渐变填充)

startColor, endColor = 填充的起始与终止颜色定义

其它的也按此一一创建,但表格的填充矩形,不要圆角,删除 radius 或设为 0

如:shape_calendar_cell_outrange.xml

android:color="@color/color_calendar_border" />

solid = 填充色,这里用前面定义的 color state list,来实现不同状态下,填充不同颜色。

stroke = 矩形边框,width = 边框线粗细, color = 边框线颜色

创建 style

打开 res/styles.xml,添加样式定义。由于样式与画面设计相关,在我们设计界面时,还要相应调整,所以在使用时,一一添加。这里给出一个 sample:

@drawable/shape_calendar_titlebar

36sp

bold

@color/color_calendar_title_gregorian

25dp

... ...

android 日历开发教程,android 开发教程之日历项目实践(三)相关推荐

  1. Android项目实践(三)——天气预报APP

    关于Android制作天气预报APP的几点建议 1.功能实现和界面展示 1.查询天气功能:通过输入地区的adcode码(后续有机会做一下通过输入地区)查询天气情况: 2.添加关注功能:对于某个县级行政 ...

  2. DataX教程(05)- DataX Web项目实践

    文章目录 01 引言 02 DataX Web概述 03 DataX Web本地运行 04 DataX Web简单使用 4.1 step1: 新增数据源 4.2 step2: 新增任务模板 4.3 s ...

  3. 通过Element开发基础增删改查页面——Vue项目实战(三)

    一.Tab标签页设置 tab标签引入 <div><el-tabs v-model="activeName" type="card">&l ...

  4. 基于React全家桶开发「网易云音乐PC」项目实战(三)

    前言 hello大家好,我是"风不识途",很长时间没有更新了~,很多朋友一直在催更新(其实没有),本人最近在实习实在有点忙=.=,有时间的话可以将面试&实习经历总结一下.好 ...

  5. flex+android+教程,android开发flex4.5入门教程.pdf

    android开发flex4.5入门教程 中国矿业大学教务部 教务通知(2013 )第33 号 关于做好各级"大学生创新训练计划" 项目中期检查和结题验收的通知 各学院: 为加强我 ...

  6. android 教程 最新版,Android最新版本开发环境搭建图文教程

    本文只是写了如何配置jdk,以及adt-bundle的配置.对于以前的adt-bundle的版本,会自带cpu/abi系统镜像,经过本文所描述的两个步骤后可以直接创建avd,但是从官网下载的最新的ad ...

  7. 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. android的webView的教程,Android WebView 应用界面开发教程

    WebView组件本身就是一个浏览器实现,Android5.0增强的WebView基于Chromium M37,直接支持WebRTC.WebAudio.WebGL.开发者可以直接在WebView中使用 ...

  9. Windows 7 部署 Android 开发环境傻瓜式教程(Eclipse+ADT)

    我把该教程做成了一个PDF,网速慢的朋友可以在这里下载 http://files.cnblogs.com/vengen/AndroidSetup.zip 准备文件: WIN7 的安装方法与 XP 的安 ...

最新文章

  1. 学习10:最基本的系统进程
  2. 自动化生成 Openstack 新项目开发框架
  3. Opportunity creation case in Firebug
  4. java 不重启部署_一篇文章带你搞定SpringBoot不重启项目实现修改静态资源
  5. UVa 1225 Digit Counting 题解
  6. java基础学习之对象转型
  7. 正在搜索需要的文件一直在搜索_正在被蚕食的百度搜索
  8. 信息论和贝叶斯(或许会继续补充)
  9. LINUX下使用scp命令与其他机器远程交换文件
  10. Carrot2 - Wikipedia, the free encyclopedia
  11. 分享一款Web压力测试工具Pylot
  12. 华三交换机如何进入配置_h3c交换机配置telnet配置教程
  13. 20172301 2017-2018-2 《程序设计与数据结构》第八周学习总结
  14. 【CSS应用篇】——CSS如何实现渐变背景
  15. matlab出现问题:TRANSPOSE 不支持 N 维数组。请使用 PAGETRANSPOSE/PAGECTRANSPOSE 转置页,或使用 PERMUTE 重新排列 N 维数组的维度。
  16. 一分钟建立自己单位的故障报修平台
  17. matlab2014b与carsim8.02联合仿真可能遇到的问题
  18. 如何使用Flashfxp上传下载文件
  19. 【经验】VMware|windows更新20H2版本后VMware虚拟机无法开启(禁用Device guard)
  20. java微信公众号开发及源码分享

热门文章

  1. 上传附件格式限制与内容校验
  2. AXI协议详解(4)-突发传输
  3. Python批量查单词源码
  4. 电子印章怎么验证真假?
  5. Bitvise SSH Client 8.32下载
  6. mysql获取去年同期_mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据...
  7. 【深度思考,极客大学Java进阶训练营
  8. 椭圆机和跑步机哪个更好
  9. 节气朔望时刻计算和日食月食预测
  10. 三星980处理器和骁龙855_手机处理器最新排名:麒麟980因一缺陷,不敌高通骁龙855...