微信android版应用图标上添加数字是怎么实现的

如题所述

使用RemoteView自定义Notification

/**

* 在给定的图片的右上角加上联系人数量。数量用红色表示

* @param icon 给定的图片

* @return 带联系人数量的图片

*/

private Bitmap generatorContactCountIcon(Bitmap icon){

//初始化画布

int iconSize=(int)getResources().getDimension(android.R.dimen.app_icon_size);

Log.d(TAG, "the icon size is "+iconSize);

Bitmap contactIcon=Bitmap.createBitmap(iconSize, iconSize, Config.ARGB_8888);

Canvas canvas=new Canvas(contactIcon);

//拷贝图片

Paint iconPaint=new Paint();

iconPaint.setDither(true);//防抖动

iconPaint.setFilterBitmap(true);//用来对Bitmap进行滤波处理,这样,当你选择Drawable时,会有抗锯齿的效果

Rect src=new Rect(0, 0, icon.getWidth(), icon.getHeight());

Rect dst=new Rect(0, 0, iconSize, iconSize);

canvas.drawBitmap(icon, src, dst, iconPaint);

//在图片上创建一个覆盖的联系人个数

int contacyCount=getContactCount();

//启用抗锯齿和使用设备的文本字距

Paint countPaint=new Paint(Paint.ANTI_ALIAS_FLAG|Paint.DEV_KERN_TEXT_FLAG);

countPaint.setColor(Color.RED);

countPaint.setTextSize(20f);

countPaint.setTypeface(Typeface.DEFAULT_BOLD);

canvas.drawText(String.valueOf(contacyCount), iconSize-18, 25, countPaint);

return contactIcon;

}

mImageView.setImageBitmap(contactCountIcon);
无非就是定义一个画布(Canvas),然后在上面画图标,画数字文本。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-11
两个imageview叠起来。
相似回答