gpt4 book ai didi

java - Android使用动画使物体利用重力落向地面

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:16 26 4
gpt4 key购买 nike

我是 Android 开发的新手,我正在尝试在屏幕顶部创建一个图像并使其落到底部。我一直在环顾四周,无法在正确的方向上得到直接的答案或指示。我发现的许多示例都已过时,并且许多方法不再有效。

我的可绘制文件夹中有一张图片,我想在 10 秒后创建它,让它像有重力一样落向地面。

关于ObjectAnimator、canvas、velocity、animation我见多了。我不确定从哪里开始。

最佳答案

请务必查看 ViewPropertyAnimator类及其方法。对于加速和弹跳等,有所谓的插值器,使动画更逼真/逼真。我能想到的最简单的方法是这样的:

假设您在这样的 xml 文件中有一个 RelativeLayout 作为父级和一个 ImageView 作为子级:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/your_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher" />
</RelativeLayout>

然后在您的 Java 代码中像这样启动动画:

ImageView imageView = (ImageView) findViewById(R.id.your_image);

float bottomOfScreen = getResources().getDisplayMetrics()
.heightPixels - (imageView.getHeight() * 4);
//bottomOfScreen is where you want to animate to

imageView.animate()
.translationY(bottomOfScreen)
.setInterpolator(new AccelerateInterpolator())
.setInterpolator(new BounceInterpolator())
.setDuration(2000);

这应该让你开始。

关于java - Android使用动画使物体利用重力落向地面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34985320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com