国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android消息個數(shù)提醒控件使用詳解

2019-10-22 18:21:50
字體:
供稿:網(wǎng)友

前言

在QQ中有消息個數(shù)提醒的控件,雖然現(xiàn)在沒用到,但是以后可能會用到,所以就實現(xiàn)它,也不難。

實現(xiàn)

效果圖如下:

Android消息個數(shù)提醒,Android消息個數(shù)提醒控件,Android消息提醒控件

先貼源碼了:

public class TipNumberView extends TextView {  private Paint mBgPaint ;  PaintFlagsDrawFilter pfd;   public TipNumberView(Context context, AttributeSet attrs) {    super(context, attrs);    //初始化畫筆    mBgPaint = new Paint();    mBgPaint.setColor(Color.RED);    mBgPaint.setAntiAlias(true);    pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);   }  public TipNumberView(Context context) {    this(context,null);  }  @Override  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    super.onMeasure(widthMeasureSpec, heightMeasureSpec);    //得到測量的高度和寬度    int measuredWidth = getMeasuredWidth();    int measuredHeight = getMeasuredHeight();    int max = Math.max(measuredWidth, measuredHeight);    //設(shè)置控件區(qū)域大小    setMeasuredDimension(max, max);  }  //設(shè)置背景顏色  @Override  public void setBackgroundColor(int color){    mBgPaint.setColor(color);  }  /**   * 設(shè)置通知個數(shù)顯示   * @param text   */  public void setNotifiText(int text){    setText(text+"");  }  public void setNotifiText(String text){    setText(text);  }  //繪圖  @Override  public void draw(Canvas canvas) {    //設(shè)置繪圖無鋸齒    canvas.setDrawFilter(pfd);    canvas.drawCircle(getWidth()/2, getHeight()/2, Math.max(getWidth()/2, getHeight())/2, mBgPaint);    super.draw(canvas);  }}

我是直接繼承至TextView,因為TextView有setText方法,所以只需要繪制圓形的紅色背景,然后調(diào)用方法setText即可,這就是實現(xiàn)的思路。

先要覆蓋onMeasure方法來得到寬度和高度,因為背景為圓形,所以我們?nèi)挾群透叨葍烧咧g的最大值,然后設(shè)置控件大小為一個正方形,在這個正方形的矩形里面,調(diào)用drawCircle方法來繪制圓形,設(shè)置畫筆的顏色為紅色即可。

小結(jié)

在布局文件使用這個類的時候,要設(shè)置android:gravity為center,這樣數(shù)字就可以居中了,之所以沒有繼承View來進(jìn)行寫,因為View還要自己去畫數(shù)字,這樣就增加了難度,不值得了。

源碼下載點擊這里

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 二手房| 丹寨县| 巢湖市| 雷州市| 台中县| 施秉县| 泰顺县| 密云县| 通州市| 福清市| 蓬莱市| 铜陵市| 永年县| 嘉义县| 屏南县| 旬阳县| 罗田县| 循化| 辽中县| 凤翔县| 芮城县| 肇庆市| 奉节县| 河西区| 唐山市| 连江县| 延庆县| 湟源县| 格尔木市| 仁布县| 雷波县| 崇仁县| 交口县| 喜德县| 隆尧县| 宜宾市| 岫岩| 克东县| 南通市| 镇原县| 高州市|