对象动画师只工作到滚动的中间,而不是底部



动画启动,但仅持续到滚动中间的特定位置。是什么导致了这种奇怪的行为?请帮我提些建议!

public void scrollAnimation() {
// Scroll activity!
final ScrollView mScrollView = (ScrollView) findViewById(R.id.myScrollViewID);
mScrollView.post(new Runnable() {
public void run()
{
ObjectAnimator anim = ObjectAnimator.ofInt(mScrollView, "scrollY", mScrollView.getBottom());
anim.setDuration(3000);
anim.start();
}
});
}
AnimatorSet animators = new AnimatorSet();
int y = 8000; // pixels how far will go the scroll
final ScrollView mScrollView = (ScrollView) findViewById(R.id.myScrollViewID);
final ObjectAnimator yTranslate = ObjectAnimator.ofInt(mScrollView, "scrollY", y);
animators.setDuration(100000L); // speed of scroll (greater the value -- greater the speed)
animators.play(yTranslate);
animators.start();

我认为您需要两个值。像这个

ObjectAnimator.ofInt(v, "scrollY", 
v.getChildAt(0).getHeight()
- v.getHeight());

最新更新