【发布时间】:2018-02-19 09:10:06
【问题描述】:
我有一个水平的 recyclerView,当我第一次打开活动时,我想让 recyclerview 中的所有项目滚动到底部(在这种情况下是向右)并回到顶部(向左)。有点像动画。滚动行为应该对用户可见。
我试着这样做:
Animation slideRight = AnimationUtils.loadAnimation(this, R.anim.slide_right);
Animation slideLeft = AnimationUtils.loadAnimation(this, R.anim.slide_left);
slideRight.setDuration(1000);
slideLeft.setDuration(1000);
slideRight.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
recyclerView.startAnimation(slideLeft);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
recyclerView.startAnimation(slideRight);
动画左滑:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="200"
android:fromXDelta="-100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
动画向右滑动:
<translate
android:duration="200"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
它可以工作,但是它只是将回收视图作为一个整体滑动,我只想滚动(滑动)这些项目。我该怎么做?
【问题讨论】:
-
恒速?如果是这样,当你有数百个项目时,它将永远花费,如果不是(恒定时间),项目将显示几分之一秒......
-
我只有10个项目,这个值不会改变
-
所以使用
smoothScrollToPosition()
标签: android android-layout android-recyclerview