我知道这已经被问过了,但是所有答案都使用了Java,我完全没有经验。此外,android studio的自动翻译为kotlin不适用于这些答案的代码。
我正在创建一个我想为其制作动画的问答游戏。我有一个视图(一个小的脉动点),我想移到“正确”按钮的中心,并在击中该按钮时直接向上移动并移出屏幕。现在最后一部分没问题,但是我想不出一种移动按钮上点的好方法。如果我像下面的示例那样进行操作,它将无法适应不同的屏幕尺寸甚至屏幕方向。那么有没有办法将坐标设置为屏幕的百分比/分数?还是获取按钮中心的坐标然后移到那里?
这就是我到目前为止使用的:
var soultoX = ObjectAnimator.ofFloat(mContentView, "x", 150f).apply {
duration = 1000
}
var soultoY = ObjectAnimator.ofFloat(mContentView, "y", 1055f).apply {
duration = 1000
}
fun soulToButton() = AnimatorSet().apply {
play(soultoX).with(soultoY)
start()
}
一个示例按钮的xml:
<Button
android:text="@string/fa"
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/fabutton"
style="@style/Widget.AppCompat.Button.Colored"
app:layout_constraintTop_toTopOf="@+id/guideline8"
app:layout_constraintBottom_toBottomOf="@+id/guideline7"
android:textColorLink="@color/colorAccent"
android:textColor="@color/colorPrimary"
app:layout_constraintVertical_bias="1.0"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintEnd_toStartOf="@+id/guideline4"/>
视图:
<Button
android:text="@string/fa"
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/fabutton"
style="@style/Widget.AppCompat.Button.Colored"
app:layout_constraintTop_toTopOf="@+id/guideline8"
app:layout_constraintBottom_toBottomOf="@+id/guideline7"
android:textColorLink="@color/colorAccent"
android:textColor="@color/colorPrimary"
app:layout_constraintVertical_bias="1.0"
app:layout_constraintStart_toStartOf="@+id/guideline3"
app:layout_constraintEnd_toStartOf="@+id/guideline4"/>
答案 0 :(得分:-1)
您可以使用constraintlayout: https://developer.android.com/reference/android/support/constraint/ConstraintLayout