大道之行,天下为公。这篇文章主要讲述为什么要来回播放Android动画相关的知识,希望能为你提供帮助。
我是android动画的新手,首先要进行一些测试。
所以,我创建了此活动
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button.setOnClickListener {
imageView.animate()
.translationX(imageView2.x - imageView.x)
.translationY(imageView2.y - imageView.y)
.start()
}}
【为什么要来回播放Android动画】使用此布局:
<
ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="52dp"
android:layout_marginTop="80dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@mipmap/ic_launcher" />
<
ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="232dp"
android:layout_marginTop="192dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@android:drawable/ic_delete" />
<
Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="144dp"
android:layout_marginTop="296dp"
android:text="Button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
当我单击按钮时,它将第一幅图像完美地动画化为第二幅图像。
我不明白,为什么再次单击该按钮会将其重新设置为原始位置。似乎知道图像现在和现在在哪里,并反转动画本身。
答案这实际上是合乎逻辑的,而且很简单。
[第一次单击时,imageView转换为[(232-52)x,(192-80)y],即(180,112)。
然后第二次单击时,imageView从(180,112)转换为[(232-180)x,(192-112)y],即(52,80)。
所以它返回到原来的位置。
推荐阅读
- 在Android Studio中运行Android App(无法创建密钥库)
- 我如何在android studio模拟器中运行vuzix android glass应用程序()
- 在Android上为MediaStreamer2控制台应用程序提供JVM
- 用于Android的不同屏幕密度的文件夹
- Xcode 10 app上传卡在“谈判连接......”
- ModelMapper如何使用条件
- 如何修改application.yml中的info.app.name()
- 如何在app.on(“before-quit”)中使用shutdown.bat停止Tomcat()
- com.apple.AuthenticationServices.Authorization错误代码1000