问题
我有一个显示文字的应用程序。它需要在X时间内滚动到页面底部。目前它正在工作,但并不顺利。这一点一点地变了,因为我调用该函数每1000ms滚动一次,将滚动位置设置为X。
目标
使用ScrollView和Animate进行平滑滚动。滚动需要持续1000毫秒,并且必须是线性的,并且不会松动。 (因为我将每1000ms调用一次函数以继续滚动)。还是有更好的选择?
我尝试了什么
我已经尝试了所有方法,包括查找教程和在此处进行挖掘。关于滚动有很多东西,但是没有什么对我有帮助。也许这真的很容易,这就是为什么它什么都没有的原因,我希望是这样。
还尝试了“ LayoutAnimation.configureNext(LayoutAnimation.Presets.linear);”选项。使用该功能时,我屏幕上的许多动画,而不是滚动动画。
这是我当前的滚动设置,如我的问题中所述:
*设置间隔以每1000ms滚动一次。
_pixels = amount of pixels to scroll. _steps = amount of steps it will take to get to the bottom using _pixels distance. _distance = total height of the page in pixels. _interval = 1000ms.
setInterval((data) => this.scrollSong(_pixels, _steps, _distance), _interval);
在功能scrollSong
中滚动。 (_scrollTo =要滚动到的位置):
this._scrollView.scrollTo({y: _scrollTo, animated: true});
ScrollView。在开始和结束滚动时,scrollSong
间隔被暂停。
<ScrollView ref={(scrollView) => { this._scrollView = scrollView; }} onScrollBeginDrag={this.handleBeginScroll} onScrollEndDrag={this.handleEndScroll}>
希望您能帮助我。如果您需要任何信息,请告诉我。
答案 0 :(得分:0)
animationView = () => {
LayoutAnimation.configureNext(LayoutAnimation.Presets.linear);
};
调用此方法可处理带有动画的Scroll。