我在屏幕上有一个图像按钮,我希望它在按下时在屏幕上移动一定距离。在swift中我常常设置一个移动它的计时器,这样我也可以设置这个按钮的速度。 Android Studio中有类似内容吗?
答案 0 :(得分:1)
最简单的解决方案是使用TranslateAnimation:
imageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TranslateAnimation translateAnimation = new TranslateAnimation(0, 100, 0, 0);
translateAnimation.setDuration(1000);
view.startAnimation(translateAnimation);
}
});
这将在1000ms = 1s
的时间间隔内将按钮向右移动100个像素答案 1 :(得分:0)
如果您也想让ImageButton
留在它已经移动的位置,例如在注释中添加translateAnimation.setFillAfter(true);
,然后再开始动画。
完整代码:
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 0, -150);
translateAnimation.setDuration(1000);
translateAnimation.setFillAfter(true);
YOURIMAGEBUTTON.startAnimation(translateAnimation);
这将在1000ms = 1s的时间间隔内将按钮上移150个像素
答案 2 :(得分:0)
尝试一下:
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
iv.animate().setDuration(100).translationX(100);
}
});