Android开发 之 RadialGradient环形渲染

来源:互联网 发布:淘宝男士挎包 单肩包 编辑:程序博客网 时间:2024/05/20 21:21

RadialGradient环形渲染

继承关系
java.lang.Object   android.graphics.Shader    android.graphics.RadialGradient

构造
public RadialGradient(float x, float y, float radius, int[] colors, float[] positions,Shader.TileMode tile)float x:  圆心X坐标float y:  圆心Y坐标float radius: 半径int[] colors:  渲染颜色数组floate[] positions: 相对位置数组,可为null,  若为null,可为null,颜色沿渐变线均匀分布Shader.TileMode tile:渲染器平铺模式public RadialGradient(float x, float y, float radius, int color0, int color1,Shader.TileMode tile)float x:  圆心X坐标float y:  圆心Y坐标float radius: 半径int color0: 圆心颜色int color1: 圆边缘颜色Shader.TileMode tile:渲染器平铺模式

效果图


代码:
public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        RadialGradientView radialGradientView = new RadialGradientView(this);        setContentView(radialGradientView);    }    public class RadialGradientView extends View {        Paint mPaint = null;        // 环形渐变渲染        Shader mRadialGradient = null;        public RadialGradientView(Context context) {            super(context);            //1.圆心X坐标2.Y坐标3.半径 4.颜色数组 5.相对位置数组,可为null 6.渲染器平铺模式            mRadialGradient = new RadialGradient(240, 240, 200, new int[] {                    Color.YELLOW, Color.GREEN, Color.TRANSPARENT, Color.RED }, null,                    Shader.TileMode.REPEAT);            mPaint = new Paint();        }        public RadialGradientView(Context context, AttributeSet attrs) {            super(context, attrs);        }        @Override        protected void onDraw(Canvas canvas) {            // 绘制环形渐变            mPaint.setShader(mRadialGradient);            // 第一个,第二个参数表示圆心坐标            // 第三个参数表示半径            canvas.drawCircle(500, 500, 400, mPaint);//画一个容器,大的园        }    }}


阅读全文
0 0
原创粉丝点击