【发布时间】:2011-09-20 18:43:26
【问题描述】:
我正在使用 onDispatchDraw(Canvas canvas) 方法在我的视图中绘制线条。当我调用 canvas.drawLine() 时,它总是在我所有的视图之上画线。有没有办法使用 canvas.drawLine() 在按钮下方但在我的布局中的另一个视图之上绘制线条?
我尝试了以下方法,但它仍然在按钮上画线。
Button b;
RelativeLayout r;
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
Paint p = new Paint();
p.setColor(Color.Black);
canvas.drawLine(0,0,100,100,p);
r.removeView(b);
r.addView(b);
}
【问题讨论】:
-
使用RelativeLayout 来满足您的需求。检查stackoverflow.com/questions/6637690/…
-
我使用的是相对布局,需要在运行时画线。
-
画线然后只使按钮无效。不要添加/删除..
-
我尝试了 invalidate() 和 bringToFront() 都没有成功。
-
你有没有试过在画完线后打电话给
super.dispatchDraw(canvas);?不要在那里添加/删除按钮..
标签: android view line android-canvas z-order