android - 如何将 ImageView 移动到另一个 ImageView Android 动画

标签 android android-studio animation android-imageview

有人知道如何将一个 ImageView 移动到另一个 ImageView 吗?

enter image description here

我正在考虑这种方法,或者也许是另一种我不知道的方法......没问题,我很高兴学习它

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/linear_interpolator">

<translate
    android:duration="800"
    android:fromXDelta="0%p"
    android:toXDelta="75%p" />

我知道 fromXDelta (是起始位置)和 toXDelta 是应该到达的位置..但是?查看我的图片示例,我如何知道我的起始位置和到达位置是什么?

添加详细信息:

这里有 4 种不同的布局,但只有 3 种带有权重值。 顶部的按钮栏是一个布局,但不像其他栏那样有重量。

所以从上开始放置卡片在布局1中 我想要到达的位置在布局2中 扑克牌从下往上排列在布局3

此外,我在 xml 中使用 onClick 方法,而不是 onClickListeners。谢谢

最佳答案

您可以像这样以编程方式执行此操作:

@Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final View target = findViewById(R.id.target);
    final View viewToMove = findViewById(R.id.viewToMove);

    viewToMove.setOnClickListener(new View.OnClickListener() {
        @Override public void onClick(View v) {
            translate(viewToMove, target);
        }
    });
}

private void translate(View viewToMove, View target) {
    viewToMove.animate()
            .x(target.getX())
            .y(target.getY())
            .setDuration(1000)
            .start();
}

这里是 XML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
android:id="@+id/activity_main"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:id="@+id/target"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_gravity="center"
    android:background="@color/colorAccent"/>

<ImageView
    android:id="@+id/viewToMove"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:background="@color/colorPrimary"
    android:src="@mipmap/ic_launcher"/>
</FrameLayout>

关于android - 如何将 ImageView 移动到另一个 ImageView Android 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42235534/

相关文章:

java - 彼此相邻的两个矩形不起作用 (Java)

android - 读取安卓 MANIFEST.MF 文件

java - 我必须为android创建谷歌地图,但我目前拥有的代码是在.net中开发的java脚本中

android-studio - 如何在 Android Studio 的 Play 商店中使用 upload_cert.der?

java - 如何将 Java 源文件的一部分转换为 Kotlin?

java - Swing 中的平滑动画

ios - 在iOS上,有没有办法每秒刷新60帧以上?

android - 将变换动画从 View 应用到另一个 View

java - 如何为变量 android 创建自定义监听器?

java - Android Studio R似乎无缘无故没有链接