zoukankan      html  css  js  c++  java
  • 自定义控件 ------ 画圆+背景色

     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);
  • 相关阅读:
    CodeForces 383C-dfs序-线段树
    poj-3321-dfs序-线段树-邻接表
    poj2528-Mayor's posters-线段树离散化、基础
    hdu3333-Turing Tree-线段树+离线+离散化
    poj 1151-atlantis-线段树扫描线求面积并
    Changes favor the connective minds.
    HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题
    HDU 1203 I NEED A OFFER! 01背包
    hdu 1175 连连看 DFS
    Codeforces Round #208 (Div. 2) 358D Dima and Hares
  • 原文地址:https://www.cnblogs.com/androidsj/p/4520535.html
Copyright © 2011-2022 走看看