我想要一个按钮,在点击时会以增量(有点像动画)的方式移动。此代码使按钮移动,但它仅显示开始和结束位置(而不是两者之间的增量)。我现在更喜欢使用与现有代码最相似的代码,但我也愿意为未来学习新的想法。
如何创建一个缓慢移动的按钮,好像它是动画的一样?
public void onButtonClick3(final View view) throws InterruptedException {
for (int i=0; i<10; i++) {
long timer1 = System.currentTimeMillis();
long timer2 = System.currentTimeMillis();
ViewGroup.MarginLayoutParams vlp = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
do {
sleep(300);
timer2 = System.currentTimeMillis();
}
while (timer1 + 1 > timer2);
int leftMargin = vlp.leftMargin;
int topMargin = vlp.topMargin;
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) view.getLayoutParams();
params.width = 200;
params.leftMargin = leftMargin + 100;
params.topMargin = topMargin + 100;
view.setLayoutParams(params);
}
}
谢谢!