上一篇文档中谈到了在日历图标上显示当前日期,

现在我添加了几行代码,可以在日历图标上显示对应的星期;

修改源码是在Utilities.java中

函数createCalendarIconBitmap

添加几行代码:

int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);

String weekStrings[] = {"周日","周一","周二","周三","周四","周五","周六"};

String weekString = weekStrings[dayOfWeek];

Paint mWeekPaint = new Paint();

mWeekPaint.setTypeface(Typeface.DEFAULT_BOLD);

mWeekPaint.setTextSize((int)10F * mDensity);

mWeekPaint.setColor(0xff000000);

mWeekPaint.setAntiAlias(true);

Rect rect1 = new Rect();

mWeekPaint.getTextBounds(weekString,0,weekString.length(),rect1);

int hoffset0 = 2;

int width10 = rect1.right - rect1.left;

int height10 = rect1.bottom - rect1.top + hoffset0;

int width20 = calendarIcon.getWidth();

int height20 = calendarIcon.getHeight() ;//+ hoffset0;

canvas.drawText(weekString,(width20 - width10)/2 - rect1.left,height10,mWeekPaint);

修改后的函数为:

static Bitmap createCalendarIconBitmap(Drawable icon, Context context){

Bitmap calendarIcon = createIconBitmap(icon,context);

String dayString = String.valueOf(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));

int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);

String weekStrings[] = {"周日","周一","周二","周三","周四","周五","周六"};

String weekString = weekStrings[dayOfWeek];

Log.d("tanfusheng","weekString"+weekString);

synchronized (sCanvas) {

final Canvas canvas = sCanvas;

canvas.setBitmap(calendarIcon);

final float mDensity = context.getResources().getDisplayMetrics().density;

Paint mWeekPaint = new Paint();

mWeekPaint.setTypeface(Typeface.DEFAULT_BOLD);

mWeekPaint.setTextSize((int)10F * mDensity);

mWeekPaint.setColor(0xff000000);

mWeekPaint.setAntiAlias(true);

Rect rect1 = new Rect();

mWeekPaint.getTextBounds(weekString,0,weekString.length(),rect1);

int hoffset0 = 2;

int width10 = rect1.right - rect1.left;

int height10 = rect1.bottom - rect1.top + hoffset0;

int width20 = calendarIcon.getWidth();

int height20 = calendarIcon.getHeight() ;//+ hoffset0;

canvas.drawText(weekString,(width20 - width10)/2 - rect1.left,height10,mWeekPaint);

Paint mDatePaint = new Paint();

mDatePaint.setTypeface(Typeface.DEFAULT_BOLD);

mDatePaint.setTextSize((int)30F * mDensity);

mDatePaint.setColor(0xff000000);

mDatePaint.setAntiAlias(true);

Rect rect = new Rect();

mDatePaint.getTextBounds(dayString,0,dayString.length(),rect);

int hoffset = 20;

int width1 = rect.right - rect.left;

int height1 = rect.bottom - rect.top;

int width2 = calendarIcon.getWidth();

int height2 = calendarIcon.getHeight() + hoffset;

canvas.drawText(dayString,(width2 - width1)/2 - rect.left,(height2 - height1)/2 - rect.top,mDatePaint);

canvas.setBitmap(null);

return calendarIcon;

}

}

原文:http://blog.csdn.net/tfslovexizi/article/details/28437711

android 日历动态图标,android 日历图标显示星期相关推荐

  1. android status_bar_height动态调整,Android沉浸状态栏(StatusBar)兼容方案

    所谓"沉浸状态栏"的实现需要两点: 设置状态栏为透明或者半透明状态; 整体布局可以置于状态栏下方. 1. 状态栏的配置 对于状态栏的配置有两种方式: 在manifest中配置Act ...

  2. android popupmenu 动态添加,Android PopupMenu 的使用

    Android 轻量化组件 PopupMenu 的使用 估计很多人遇到过这种场景: 要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ...

  3. android 设置动态头像,Android实现动态圆环的图片头像控件

    先看效果图: 现在大部分的app上难免会使用到圆形头像,所以今天我给大家分享一个单独使用的,并且周围带有圆环动画的花哨圆形头像控件,本控件是在圆形头像控件基础上实现的,只是在其周围再画一些不同大小的圆 ...

  4. android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...

    本文将带你了解Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发,希望本文对大家学Android有所帮助 BroadcastReceiver ...

  5. android fragment动态添加,Android动态添加Fragment

    效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app.Fragment; import and ...

  6. android textview动态设置,android – 如何动态设置文本到TextView?

    我想在活动开始时显示连接的ssid和ip地址.它包含一个图像视图(用于标题,因为我没有使用操作栏)和4个文本视图(ssid标签,ssid值,ipaddr标签和ipaddr值) 我已经测试了获取ssid ...

  7. Android实现动态贴纸,Android开发之仿微博贴纸效果实现——进阶篇

    上个月写了一篇<Android开发之仿微博贴纸效果实现--基础篇>,文章中提到还有一篇进阶篇要写,很早就想动笔了,因中途去维护了开源库<高仿微信图片选择器2.0版本>,导致耽搁 ...

  8. android popupmenu 动态添加,android中PopupMenu的使用

    PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果.它的菜单选项可以来自于menu资源,因此非常方便.下面是在网上找的一个PopupMenu的 ...

  9. android popupmenu 动态添加,Android开发使用PopupMenu创建弹出式菜单完整实例

    本文实例讲述了Android开发使用PopupMenu创建弹出式菜单.分享给大家供大家参考,具体如下: 简介: PopupMenu 代表弹出式菜单,它会在指定组件上,默认情况下,PopupMenu会显 ...

  10. android悬浮动态权限,Android 获取判断是否有悬浮窗权限的方法

    现在很多应用都会用到悬浮窗,很多国产rom把悬浮窗权限加入控制了,你就需要判断是否有悬浮窗权限,然后做对应操作. Android 原生有自带权限管理的,只是被隐藏了.看android源码在androi ...

最新文章

  1. Java实现的文件Copy例子
  2. 精通Server Core系列之二 ---Server Core安装与基本配置
  3. 细分领域继续进击,海尔电器寻退市增效?
  4. 信息系统项目管理师为什么不建议自学
  5. 使用Mysql工具进行数据清洗
  6. BZOJ5073 小A的咒语(动态规划)
  7. Centos7.0系统下Rsync+sersync实现多文件数据实时增量同步
  8. python连接池框架_Python中的连接池是非常重要的!神级程序员详解!
  9. u盘怎么重装系统win11教程
  10. 机器学习、神经网络、深度学习区别
  11. 评价法(二):模糊综合评价的步骤和方法
  12. 飞信2009_我的移动互联网十年经历 (一):飞信时代
  13. Hbase的过滤器分类
  14. 中国天气预报API城市编号
  15. 计算机应用安装不了软件总被隔离,电脑安装软件时显示此程序被组策略阻止的解决方法...
  16. php 方法名前加 amp,PHP的返回引用(方法名前加)
  17. 常见机器学习优点和缺点
  18. 细胞器基因组|比较基因组分析助力深度挖掘细胞器进化关系
  19. Python基本数据类型-字符串的操作
  20. Excel PivotTable 使用心得手顺分享(六)

热门文章

  1. 怎样完美卸载IE8浏览器
  2. code405是什么意思_HTTP协议状态码详解(HTTP Status Code)
  3. 红米4x 刷android 8.0,【红米4X 安卓6.0.1救砖线刷包】免解锁MIUI V8.5.4.0.MAMCNED稳定版 精简线刷包...
  4. 怎么在安全模式里找计算机用户,安全模式怎么解除
  5. LOGO特训营 第三节 首字母创意手法
  6. 土是独体字结构吗_独体结构的字大全
  7. iperf/LANSpeedTest网络传输速度测试工具
  8. Word快速构建座位表
  9. python中oct函数_Python内置函数OCT详解
  10. c语言oct hex dec用法,C++ 如何用cout输出hex,oct,dec的解决方法