微信android版應用圖示上新增數字是怎麼實現的文件類共創空間 2015-01-11

使用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),然後在上面畫圖示,畫數字文字。

微信android版應用圖示上新增數字是怎麼實現的網友491f1c2 2015-01-11

兩個imageview疊起來。