自定义View

原创 2016年05月30日 18:30:39
自定义View,就是这个View上所呈现的内容全部都是我们自己绘制出来的.

自定义view的三个重要方法:
onMeasure()//初步确定控件尺寸
onLayout()//决定子控件如何摆放
onDraw()//继承自view则需要重写

public class CircleView extends ImageView{



    int borderwidth;
    int bordercolor;

    public CircleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray t=context.obtainStyledAttributes( attrs, R.styleable.CircleView);
        borderwidth=t.getDimensionPixelSize(R.styleable.CircleView_border_width, 0);
        bordercolor=t.getColor(R.styleable.CircleView_border_color,Color.WHITE);
        t.recycle();
    }

    /**
     *改写ImageView默认的serImageBitmap方法
     */
    @Override
    public void setImageBitmap(Bitmap bm) {
        Bitmap bitmap=Bitmap.createBitmap(bm.getWidth(),
        bm.getHeight(),Config.ARGB_8888);

        Canvas canvas=new Canvas(bitmap);
        Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG);//抗锯齿
        //设置画笔颜色
        paint.setColor(Color.BLACK);
        //设置半径
        float radius=Math.min(bm.getWidth(), bm.getHeight())/2;
        //画圆
        canvas.drawCircle(bm.getWidth()/2, bm.getHeight()/2, radius, paint);
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        canvas.drawBitmap(bm, 0,0, paint);

        //描边
        paint.setStyle(Style.STROKE);//设置类型为空心
        paint.setStrokeWidth(borderwidth);
        paint.setColor(bordercolor);
        canvas.drawCircle(bm.getWidth()/2, bm.getHeight()/2, radius-borderwidth/2, paint);


        setScaleType(ScaleType.FIT_XY);
        super.setImageBitmap(bitmap);
    }       
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

自定义view 实现倒影

  • 2017年12月01日 16:55
  • 23.65MB
  • 下载

自定义View

  • 2017年11月19日 19:42
  • 392B
  • 下载

【Android自定义View实战】之仿百度加载动画,一种优雅的Loading方式

【Android自定义View实战】之仿百度加载动画,一种优雅的Loading方式 无意中看到了百度的加载动画,看起来非常优雅,打算亲手造一个。 仿百度加载动画的重要思路:当第一遍执行完毕后就让...

自定义view(音量条)

  • 2017年11月09日 15:14
  • 19.83MB
  • 下载

自定义View练习 - 汉字键盘

自定义View练习 – 汉字键盘练习来源Android自定义键盘之汉字键盘最终效果图基本知识以下内容摘自上面的文章一、软键盘介绍实现软键盘主要用到了系统的两个类:Keyboard和KeyboardVi...

Android自定义View

  • 2016年01月05日 17:54
  • 1.26MB
  • 下载

android 自定义view 之 动态音频图 (二)

android 自定义view 之 动态音频图 (二)

Android自定义View(一) -源码

  • 2016年08月26日 13:32
  • 34.14MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义View
举报原因:
原因补充:

(最多只允许输入30个字)