/**
* 一切的开始onDraw()
* Paint
* Paint 的 API 大致可以分为 4 类:
* 颜色
* 效果
* drawText() 相关
* 初始化
*
* @param canvas
*/
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint = new Paint();
Shader mShader;
/**
* setColor
*/
mPaint.setColor(Color.parseColor("#009688"));
canvas.drawRect(30, 10, 200, 200, mPaint);
mPaint.setColor(Color.parseColor("#FF9800"));
mPaint.setStrokeWidth(10);
canvas.drawLine(300, 10, 400, 200, mPaint);
mPaint.setColor(Color.parseColor("#E91E63"));
mPaint.setTextSize(60);
canvas.drawText("Hello World", 500, 100, mPaint);
/**
* Shader (着色器)
* 当设置了 Shader 之后, Paint 在绘制图形和文字时就不使用setColor/ARGB() 设置的颜色了,而是使用 Shader 的方案中的颜色.
* 在 Android 的绘制里使用 Shader ,并不直接用 Shader 这个类,而是用它的几个子类。
* 具体来讲有 LinearGradient RadialGradient SweepGradient BitmapShader ComposeShader 这么几个
*/
/**
* LinearGradient 线性渐变
* 设置两个点和两种颜色,以这两个点作为端点,使用两种颜色的渐变来绘制颜色。
*/
//从100,100倒500,500两点之间画了颜色渐变
mShader = new LinearGradient(100, 100, 500, 500, Color.parseColor("#EA1E63"),
Color.parseColor("#2196F3"), Shader.TileMode.CLAMP);
mPaint.setShader(mShader);
//这个圆在100-500坐标中间 300坐标就是中间部分 画了一个渐变色的圆
canvas.drawCircle(300, 300, 200, mPaint);
View1_2
最新推荐文章于 2022-04-15 16:51:31 发布