Android ConstraintLayout 配合 ObjectAnimator 实现子视图平移隐藏动画
在 Android 中,可以使用 ConstraintLayout 和 ObjectAnimator 来实现子视图平移隐藏效果。以下是实现步骤:
-
在布局文件中使用 ConstraintLayout 布局子视图,并设置好约束关系。
-
在代码中获取需要隐藏的子视图,并使用 ObjectAnimator 设置平移动画。
-
在动画结束时,将需要隐藏的子视图设置为不可见。
以下是示例代码:
布局文件:
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Java 代码:
ConstraintLayout container = findViewById(R.id.container);
TextView textView = findViewById(R.id.textView);
ObjectAnimator animator = ObjectAnimator.ofFloat(textView, 'translationY', 0f, textView.getHeight());
animator.setDuration(500);
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
textView.setVisibility(View.INVISIBLE);
}
});
container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animator.start();
}
});
以上代码实现了当点击 ConstraintLayout 时,textView 会向下平移并隐藏,动画时长为 500 毫秒。在动画结束时,将 textView 设置为不可见。
注意:在使用 ObjectAnimator 时,需要设置动画属性名和起始值、结束值。在本例中,动画属性名为 'translationY',表示在 Y 轴方向上的平移。起始值为 0,表示初始位置不变。结束值为 textView.getHeight(),表示向下平移一个 textView 的高度。
原文地址: https://www.cveoy.top/t/topic/kKp6 著作权归作者所有。请勿转载和采集!