Android消息个数提醒控件使用详解

Android消息个数提醒控件使用详解,第1张

概述前言在QQ中有消息个数提醒的控件,虽然现在没用到,但是以后可能会用到,所以就实现它,也不难。

前言@H_502_3@

在QQ中有消息个数提醒的控件,虽然现在没用到,但是以后可能会用到,所以就实现它,也不难。@H_502_3@

实现@H_502_3@

效果图如下:@H_502_3@

@H_502_3@@H_502_3@

先贴源码了:@H_502_3@

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);    //设置控件区域大小    setMeasuredDimension(max,max);  }  //设置背景颜色  @OverrIDe  public voID setBackgroundcolor(int color){    mBgPaint.setcolor(color);  }  /**   * 设置通知个数显示   * @param text   */  public voID setNotifiText(int text){    setText(text+"");  }  public voID setNotifiText(String text){    setText(text);  }  //绘图  @OverrIDe  public voID draw(Canvas canvas) {    //设置绘图无锯齿    canvas.setDrawFilter(pfd);    canvas.drawCircle(getWIDth()/2,getHeight()/2,Math.max(getWIDth()/2,getHeight())/2,mBgPaint);    super.draw(canvas);  }}

我是直接继承至TextVIEw,因为TextVIEw有setText方法,所以只需要绘制圆形的红色背景,然后调用方法setText即可,这就是实现的思路。@H_502_3@

先要覆盖onMeasure方法来得到宽度和高度,因为背景为圆形,所以我们取宽度和高度两者之间的最大值,然后设置控件大小为一个正方形,在这个正方形的矩形里面,调用drawCircle方法来绘制圆形,设置画笔的颜色为红色即可。@H_502_3@

小结@H_502_3@

在布局文件使用这个类的时候,要设置androID:gravity为center,这样数字就可以居中了,之所以没有继承VIEw来进行写,因为VIEw还要自己去画数字,这样就增加了难度,不值得了。@H_502_3@

源码下载点击这里。@H_502_3@

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。@H_502_3@ 总结

以上是内存溢出为你收集整理的Android消息个数提醒控件使用详解全部内容,希望文章能够帮你解决Android消息个数提醒控件使用详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存