4
方法「的onDraw()」將「invalidate
」被調用時被調用兩次。 我想移動視圖起來onDraw()
,這裏是我的代碼方法「的onDraw()」將被調用時兩次「無效」被稱爲
package com.blsm.sss.view;
public class MoveRelativeLayout extends RelativeLayout {
private int mDelta = 0;
public MoveRelativeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MoveRelativeLayout(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public void move(int delta) {
mDelta = delta;
invalidate();
Logger.d("MoveRelativeLayout", "move() delta:" + mDelta);
}
@Override
protected void onDraw(Canvas canvas) {
Logger.d("MoveRelativeLayout", "onDraw() delta:" + mDelta);
super.onDraw(canvas);
canvas.translate(0, mDelta);
}
}
但是,當我調用的方法「move()
」 onDraw
會被調用兩次。我不知道爲什麼,有人能幫助我嗎?
如果你不調用invalidate(),是否會調用onDraw()? – yushulx