• 自定义控件 ------ 画圆+背景色


     1 import android.content.Context;
     2 import android.graphics.Canvas;
     3 import android.graphics.Color;
     4 import android.graphics.Paint;
     5 import android.graphics.PaintFlagsDrawFilter;
     6 import android.util.AttributeSet;
     7 import android.widget.TextView;
     8 
     9 public class CircleView extends TextView {
    11     private Paint mBgPaint = new Paint();
    13     PaintFlagsDrawFilter pfd = new PaintFlagsDrawFilter(0,
    14             Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
    15 
    16     public CircleView(Context context, AttributeSet attrs, int defStyle) {
    17         super(context, attrs, defStyle);
    19     }
    20 
    21     public CircleView(Context context, AttributeSet attrs) {
    22         super(context, attrs);
    23         // TODO Auto-generated constructor stub
    24         mBgPaint.setColor(Color.WHITE);
    25         mBgPaint.setAntiAlias(true);
    26     }
    27 
    28     public CircleView(Context context) {
    29         super(context);
    30         // TODO Auto-generated constructor stub
    31         mBgPaint.setColor(Color.WHITE);
    32         mBgPaint.setAntiAlias(true);
    33     }
    34 
    35     @Override
    36     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    37         // TODO Auto-generated method stub
    38         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    39         int measuredWidth = getMeasuredWidth();
    40         int measuredHeight = getMeasuredHeight();
    41         int max = Math.max(measuredWidth, measuredHeight);
    42         setMeasuredDimension(max, max);
    43     }
    44 
    45     @Override
    46     public void setBackgroundColor(int color) {
    47         // TODO Auto-generated method stub
    48         mBgPaint.setColor(color);
    49     }
    50 
    51     /**
    52      * 设置通知个数显示
    53      * @param text
    54      */
    55     public void setNotifiText(int text) {
    56         setText(text + "");
    57     }
    58 
    59     @Override
    60     public void draw(Canvas canvas) {
    61         // TODO Auto-generated method stub
    62         canvas.setDrawFilter(pfd);
    63         canvas.drawCircle(getWidth() / 2, getHeight() / 2,
    64                 Math.max(getWidth(), getHeight()) / 2, mBgPaint);
    65         super.draw(canvas);
    66     }
    67 }
    70 
    71 =============================
    74 
    75 private CircleView circleTextview;
    76 circleTextview = (CircleView) findViewById(R.id.circleTextview);
    77         circleTextview.setBackgroundColor(Color.RED);
  • 相关阅读:
    常用数列
    sqrt
    树状数组
    hash
    P1102 A-B数对
    codevs 1795 金字塔 2
    P2296 寻找道路
    [USACO16JAN]子共七Subsequences Summing to Sevens
    P3397 地毯
    关于调用&&传址
  • 原文地址:https://www.cnblogs.com/androidsj/p/4520535.html
Copyright © 2020-2023  润新知