/**
* 绘制图标右上角的未读消息数量显示
*
* @param context
* 上下文
* @param icon
* 需要被添加的icon的资源ID
* @param news
* 未读的消息数量
* @return drawable
*/
@SuppressWarnings("unused")
public static Drawable displayNewsNumber(Context context, int icon, int news) {
// 初始化画布
int iconSize = (int) context.getResources().getDimension(
android.R.dimen.app_icon_size);
// Bitmap contactIcon = Bitmap.createBitmap(iconSize, iconSize,
// Config.ARGB_8888);
Bitmap iconBitmap = BitmapFactory.decodeResource(
context.getResources(), icon);
Canvas canvas = new Canvas(iconBitmap);
// 拷贝图片
Paint iconPaint = new Paint();
iconPaint.setDither(true);// 防抖动
iconPaint.setFilterBitmap(true);// 用来对Bitmap进行滤波处理
Rect src = new Rect(0, 0, iconBitmap.getWidth(), iconBitmap.getHeight());
Rect dst = new Rect(0, 0, iconBitmap.getWidth(), iconBitmap.getHeight());
canvas.drawBitmap(iconBitmap, src, dst, iconPaint);
// 启用抗锯齿和使用设备的文本字距
Paint countPaint = new Paint(Paint.ANTI_ALIAS_FLAG
| Paint.DEV_KERN_TEXT_FLAG);
countPaint.setColor(Color.RED);
canvas.drawCircle(iconSize - 13, 20, 10, countPaint);
Paint textPaint = new Paint();
textPaint.setColor(Color.WHITE);
// textPaint.setTypeface(Typeface.DEFAULT_BOLD);
textPaint.setTextSize(19f);
canvas.drawText(String.valueOf(news), iconSize - 18, 27, textPaint);
return new BitmapDrawable(iconBitmap);
}
if (count > 0) {//显示右上角未读消息提示
Drawable mineDrawable = BitmapUtil.displayNewsNumber(this,
R.drawable.icon_mine, count);
mineButton.setCompoundDrawablesWithIntrinsicBounds(null, null,
null, mineDrawable);//这里就是设置背景,自行发挥。
} else {//隐藏
Drawable defaultDrawable = getResources().getDrawable(
R.drawable.icon_mine);
mineButton.setCompoundDrawablesWithIntrinsicBounds(null, null,
null, defaultDrawable);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有