Android 为什么我的视图组(线性布局)没有设置动画?

Android 为什么我的视图组(线性布局)没有设置动画?,android,kotlin,objectanimator,Android,Kotlin,Objectanimator,我不知道为什么我的线性布局(ll_标题)没有动画,即使我在滚动recylcer视图时得到了正确的回调 我的视图组甚至没有从它的位置移动 private fun addListener() { rv_demo.addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {

我不知道为什么我的线性布局(ll_标题)没有动画,即使我在滚动recylcer视图时得到了正确的回调

我的视图组甚至没有从它的位置移动

private fun addListener() {
    rv_demo.addOnScrollListener(object : RecyclerView.OnScrollListener() {
        override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
            super.onScrolled(recyclerView, dx, dy)

            objectAnimator = ObjectAnimator.ofInt(ll_header,"translationY", dy)

            objectAnimator.start()
        }
    })
}
以前我也曾多次为对象动画制作人员工作,他们工作得很好,我在这里也做同样的工作,但我的视图根本没有移动

我也尝试过使用静态值,但它仍然处于其位置

private fun addListener() {
    rv_demo.addOnScrollListener(object : RecyclerView.OnScrollListener() {
        override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
            super.onScrolled(recyclerView, dx, dy)

            objectAnimator = ObjectAnimator.ofInt(ll_header,"translationY", dy)

            objectAnimator.start()
        }
    })
}
这是我的xml布局

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:orientation="vertical">

    <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv_demo"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>

    <LinearLayout
            android:id="@+id/ll_header"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="vertical"
            android:background="@android:color/holo_blue_bright"/>

</RelativeLayout>


请帮忙。。。提前谢谢。

我想到两件事

  • translationY
    是浮点值。因此,您应该尝试使用
    ObjectAnimator.offload()
  • 检查是否以某种方式禁用了“开发人员设置”中的动画