欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android自定view画圆效果

程序员文章站 2023-11-26 16:47:40
这是一个自定义view画圆,对于初学自定义view的小伙伴这是一个很好的帮助。 看图 代码: package sjx.com.custonview;...

这是一个自定义view画圆,对于初学自定义view的小伙伴这是一个很好的帮助。

看图

Android自定view画圆效果

代码:

package sjx.com.custonview;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.support.annotation.nullable;
import android.util.attributeset;
import android.util.log;
import android.view.motionevent;
import android.view.view;
import android.view.window;

/**
 * dell 孙劲雄
 * 2017/9/1
 * 19:57
 */

public class custonm extends view {
  private float currentx = 40;
  private float currenty = 50;
  public custonm(context context) {
    super(context);
  }

  public custonm(context context, attributeset attrs) {
    super(context, attrs);
  }

  public custonm(context context, attributeset attrs, int defstyleattr) {
    super(context, attrs, defstyleattr);
  }
//测量
  @override
  protected void onmeasure(int widthmeasurespec, int heightmeasurespec) {
    super.onmeasure(widthmeasurespec, heightmeasurespec);
  }
//摆放
  @override
  protected void onlayout(boolean changed, int left, int top, int right, int bottom) {

    super.onlayout(changed, left, top, right, bottom);

  }

  @override
  protected void ondraw(canvas canvas) {
    super.ondraw(canvas);




    paint paint=new paint();

    paint.setcolor(color.red);

    paint.setstyle(paint.style.fill);

    paint.setantialias(true);


    canvas.drawcircle(currentx,currenty,30,paint);

  }

  @override
  public boolean dispatchtouchevent(motionevent event) {
    return super.dispatchtouchevent(event);
  }

  @override
  public boolean ontouchevent(motionevent event) {

    currentx=event.getx();
    currenty=event.gety();

    invalidate();

    switch (event.getaction()){

      case motionevent.action_down:
        log.i("sss", "按下");
        break;
      case motionevent.action_move:
        log.i("sss", "移动");

        break;
      case motionevent.action_up:
        log.i("sss", "弹起");
        break;
    }
    return true;


  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。