一个长按按钮只需将4个图像移动到左,右,上,下角然后,释放按钮将图像设置在相同位置 - Android

问题描述 投票:-1回答:1
  1. 我有一个按钮,当长按按钮时 - 将图像视图向左,向右,向上,向下移动位置向上移动。
  2. 释放按钮后,将图像视图返回到上一个位置。
  3. 请帮我实现这个目标。提前致谢! Mainactivity.java floatingActionButton.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Iv1.startAnimation(animFadein1); Iv2.startAnimation(animFadein2); |Iv3.startAnimation(animFadein3); Iv4.startAnimation(animFadein4); System.out.println("in PRESSED"); return true; } }); floatingActionButton.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch(event.getAction()){ case MotionEvent.ACTION_UP: { Toast.makeText(getApplicationContext(), "Rlesed", Toast.LENGTH_SHORT).show(); return true; } } return false; } });

请看示例图片:

https://i.stack.imgur.com/nlxqI.png

topleft.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">;
    <translate
        android:duration="500"
        android:fromXDelta="-5%"
        android:fromYDelta="-5%"
        android:toXDelta="0%"
        android:toYDelta="00%"
        android:zAdjustment="bottom"></translate>
</set>

topright.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">;
    <translate
        android:duration="500"
        android:fromXDelta="5%"
        android:fromYDelta="-5%"
        android:toXDelta="0%"
        android:toYDelta="00%"
        android:zAdjustment="bottom"></translate>
</set>
android android-animation floating-action-button
1个回答
2
投票

我会这样用ObjectAnimator这样做:

val animatorSet = new AnimatorSet()
val moveDownAnimator = ObjectAnimator.ofFloat(imageView, View.TRANSLATION_Y, deltaY) // move down
val moveUpAnimator = ObjectAnimator.ofFloat(anotherImageView, View.TRANSLATION_Y, -deltaY) // move up
...
animatorSet.playTogether(moveDownAnimator, moveUpAnimator,...);
animatorSet.setDuration(ANIMATION_DURATION);
animatorSet.start();

与发布类似:

val releaseAnimator = ObjectAnimator.ofFloat(imageView, View.TRANSLATION_Y, 0);
© www.soinside.com 2019 - 2024. All rights reserved.