2015-10-17 98 views
0

我延长了ViewPager与我的阶级和被覆盖的onDraw有失效这样的:借鉴ViewPager画布“静态位置”

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 

    ... 
} 

的问题是,无论我在那里画画,它与ViewPager滚动,但我希望它留在同一个地方。我已经尝试设置canvas.translate(0,0);,但那不起作用。

我真的很感激任何解决方案如何使绘制位置静态。

+0

什么是你的情况下,使用ViewPager的..? –

+1

'translate(0,0)'什么也不做,你需要重置'Canvas'转换'Matrix',尝试调用'Canvas#getMatrix'并且看到它的Matrix#MTRANS_X值,那么你需要调用'translate( - transX,0)'或使用'Canvas#setMatrix'完全替换'Matrix',但这很棘手 – pskink

+0

@SarithaG在片段之间滑动。 – Ladas125

回答

2

最简单的办法是translate()Canvas绘制你的东西之前:

canvas.translate(getScrollX(), 0); 
// your drawing code follows...