View1_2

/**
 * 一切的开始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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值