メソッド「onDraw()」は、「 」が呼び出されたときに 2 回invalidate
呼び出されます。ビューを上に移動したいのですが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
を呼び出すと、2 回呼び出されます。理由がわかりません、誰か助けてくれませんか?