圆形背景TextView

来源:互联网 发布:纬创软件 福州 编辑:程序博客网 时间:2024/05/16 13:06

重写TextView

    package com.example.circletextview;      import android.content.Context;      import android.graphics.Canvas;      import android.graphics.Color;      import android.graphics.Paint;      import android.graphics.PaintFlagsDrawFilter;      import android.util.AttributeSet;      import android.widget.TextView;      public class CircleView extends TextView {          private Paint mBgPaint = new Paint();          PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);           public CircleView(Context context, AttributeSet attrs, int defStyle) {              super(context, attrs, defStyle);              // TODO Auto-generated constructor stub          }          public CircleView(Context context, AttributeSet attrs) {              super(context, attrs);              // TODO Auto-generated constructor stub              mBgPaint.setColor(Color.WHITE);              mBgPaint.setAntiAlias(true);          }          public CircleView(Context context) {              super(context);              // TODO Auto-generated constructor stub              mBgPaint.setColor(Color.WHITE);              mBgPaint.setAntiAlias(true);          }          @Override          protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {              // TODO Auto-generated method stub              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) {              // TODO Auto-generated method stub              mBgPaint.setColor(color);          }          /**          * 设置通知个数显示          * @param text          */          public void setNotifiText(int text){              //      if(text>99){              //          String string = 99+"+";              //          setText(string);              //          return;              //      }              setText(text+"");          }          @Override          public void draw(Canvas canvas) {              // TODO Auto-generated method stub              canvas.setDrawFilter(pfd);              canvas.drawCircle(getWidth()/2, getHeight()/2, Math.max(getWidth(), getHeight())/2, mBgPaint);              super.draw(canvas);          }      }  

使用:

    circleTextview = (CircleView) findViewById(R.id.circleTextview);          circleTextview.setBackgroundColor(Color.RED);

转载自 http://blog.csdn.net/liu1164316159/article/details/42914511

0 0
原创粉丝点击