android 日历动态图标,android 日历图标显示星期
上一篇文档中谈到了在日历图标上显示当前日期,
现在我添加了几行代码,可以在日历图标上显示对应的星期;
修改源码是在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 日历图标显示星期相关推荐
- android status_bar_height动态调整,Android沉浸状态栏(StatusBar)兼容方案
所谓"沉浸状态栏"的实现需要两点: 设置状态栏为透明或者半透明状态; 整体布局可以置于状态栏下方. 1. 状态栏的配置 对于状态栏的配置有两种方式: 在manifest中配置Act ...
- android popupmenu 动态添加,Android PopupMenu 的使用
Android 轻量化组件 PopupMenu 的使用 估计很多人遇到过这种场景: 要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ...
- android 设置动态头像,Android实现动态圆环的图片头像控件
先看效果图: 现在大部分的app上难免会使用到圆形头像,所以今天我给大家分享一个单独使用的,并且周围带有圆环动画的花哨圆形头像控件,本控件是在圆形头像控件基础上实现的,只是在其周围再画一些不同大小的圆 ...
- android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...
本文将带你了解Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发,希望本文对大家学Android有所帮助 BroadcastReceiver ...
- android fragment动态添加,Android动态添加Fragment
效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app.Fragment; import and ...
- android textview动态设置,android – 如何动态设置文本到TextView?
我想在活动开始时显示连接的ssid和ip地址.它包含一个图像视图(用于标题,因为我没有使用操作栏)和4个文本视图(ssid标签,ssid值,ipaddr标签和ipaddr值) 我已经测试了获取ssid ...
- Android实现动态贴纸,Android开发之仿微博贴纸效果实现——进阶篇
上个月写了一篇<Android开发之仿微博贴纸效果实现--基础篇>,文章中提到还有一篇进阶篇要写,很早就想动笔了,因中途去维护了开源库<高仿微信图片选择器2.0版本>,导致耽搁 ...
- android popupmenu 动态添加,android中PopupMenu的使用
PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果.它的菜单选项可以来自于menu资源,因此非常方便.下面是在网上找的一个PopupMenu的 ...
- android popupmenu 动态添加,Android开发使用PopupMenu创建弹出式菜单完整实例
本文实例讲述了Android开发使用PopupMenu创建弹出式菜单.分享给大家供大家参考,具体如下: 简介: PopupMenu 代表弹出式菜单,它会在指定组件上,默认情况下,PopupMenu会显 ...
- android悬浮动态权限,Android 获取判断是否有悬浮窗权限的方法
现在很多应用都会用到悬浮窗,很多国产rom把悬浮窗权限加入控制了,你就需要判断是否有悬浮窗权限,然后做对应操作. Android 原生有自带权限管理的,只是被隐藏了.看android源码在androi ...
最新文章
- Java实现的文件Copy例子
- 精通Server Core系列之二 ---Server Core安装与基本配置
- 细分领域继续进击,海尔电器寻退市增效?
- 信息系统项目管理师为什么不建议自学
- 使用Mysql工具进行数据清洗
- BZOJ5073 小A的咒语(动态规划)
- Centos7.0系统下Rsync+sersync实现多文件数据实时增量同步
- python连接池框架_Python中的连接池是非常重要的!神级程序员详解!
- u盘怎么重装系统win11教程
- 机器学习、神经网络、深度学习区别
- 评价法(二):模糊综合评价的步骤和方法
- 飞信2009_我的移动互联网十年经历 (一):飞信时代
- Hbase的过滤器分类
- 中国天气预报API城市编号
- 计算机应用安装不了软件总被隔离,电脑安装软件时显示此程序被组策略阻止的解决方法...
- php 方法名前加 amp,PHP的返回引用(方法名前加)
- 常见机器学习优点和缺点
- 细胞器基因组|比较基因组分析助力深度挖掘细胞器进化关系
- Python基本数据类型-字符串的操作
- Excel PivotTable 使用心得手顺分享(六)
热门文章
- 怎样完美卸载IE8浏览器
- code405是什么意思_HTTP协议状态码详解(HTTP Status Code)
- 红米4x 刷android 8.0,【红米4X 安卓6.0.1救砖线刷包】免解锁MIUI V8.5.4.0.MAMCNED稳定版 精简线刷包...
- 怎么在安全模式里找计算机用户,安全模式怎么解除
- LOGO特训营 第三节 首字母创意手法
- 土是独体字结构吗_独体结构的字大全
- iperf/LANSpeedTest网络传输速度测试工具
- Word快速构建座位表
- python中oct函数_Python内置函数OCT详解
- c语言oct hex dec用法,C++ 如何用cout输出hex,oct,dec的解决方法