package com.bawei.wss.huanxingxuanran; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.RadialGradient; import android.graphics.Shader; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import android.widget.Toast; /** * author:Created by WangZhiQiang on 2017/11/30. */ public class XuanRanQiu extends View { float lastX = 100f; float lastY = 100f; Paint mPaint = null; Shader mRadialGradient = null; public XuanRanQiu(Context context) { super(context); //1.圆心X坐标2.Y坐标3.半径 4.颜色数组 5.相对位置数组,可为null 6.渲染器平铺模式 mRadialGradient = new RadialGradient(240, 240, 240, new int[]{ Color.YELLOW, Color.GREEN, Color.TRANSPARENT, Color.RED}, null, Shader.TileMode.REPEAT); mPaint = new Paint(); } public XuanRanQiu(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { // 绘制环形渐变 mPaint.setShader(mRadialGradient); // 第一个,第二个参数表示圆心坐标 // 第三个参数表示半径 mPaint.setAntiAlias(true);//设置画笔的锯齿效果 canvas.drawCircle(lastX, lastY, 200, mPaint); } public XuanRanQiu(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public boolean onTouchEvent(MotionEvent event) { //获取到手指处的横坐标和纵坐标 lastX = event.getX(); lastY = event.getY(); Toast.makeText(getContext(),"我是球",Toast.LENGTH_SHORT).show(); invalidate(); return true; } }
圆球渲染
最新推荐文章于 2023-07-26 14:10:37 发布