使用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 alt="微信android版應用圖示上新增數字是怎麼實現的" data-isLoading="0" src="/static/img/blank.gif" data-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),然後在上面畫圖示,畫數字文字。
兩個imageview疊起來。