为什么我的视图组(线性布局)没有动画?
Why my viewgroup (linear layout) is not animating?
我不知道为什么我的线性布局 (ll_header) 没有动画,即使我在滚动 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()
}
})
}
这是我在 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.ofFloat()
- 检查您是否以某种方式从开发者设置中禁用了动画
我不知道为什么我的线性布局 (ll_header) 没有动画,即使我在滚动 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()
}
})
}
这是我在 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.ofFloat()
- 检查您是否以某种方式从开发者设置中禁用了动画