关于 super.onDraw(canvas); 位置不同,出现的效果不同的

这种感觉很秋天 2016-03-04 04:03:11
@Override
protected void onDraw(Canvas canvas) {
//使用textview基类,渲染文本
(1) super.onDraw(canvas);
//绘制页面的颜色
canvas.drawColor(paperColor);
//绘制边缘
canvas.drawLine(0,0,0,getMeasuredHeight(),linePaint);
/**
*左上角为0,0坐标
* getMeasuredHeight()会向下取值
*
*/

canvas.drawLine(0, 0, getMeasuredWidth(),0, linePaint);

//draw margin
canvas.drawLine(margin, 0, margin, getMeasuredHeight(), marginPaint);

//移动文本,让他跨过边缘
canvas.save();
canvas.translate(margin, 0);
//使用textView渲染文本, super.onDraw(canvas);位置的不同会导致显示效果的不同
(2)super.onDraw(canvas);
canvas.restore();

/
}

我想问一下:
super.onDraw(canvas);
这不就是调用父类的构造函数么!
放的位置不同,出来的效果不同,为什么???
...全文
291 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
assky124 2016-03-04
  • 打赏
  • 举报
回复
super.onDraw 是调用父类的方法好不 直接看代码啊,应该主要是绘制背景之列的吧

80,350

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧