我尝试制作一个动画,在其中有一个虚拟列表,该列表仅填充屏幕的底部,顶部是搜索栏和显示字段。当用户拉出列表上的项目时,我使用onScroll道具和Animated.event()来显示该内容并将搜索栏锁定在屏幕顶部。
对于IOS,我的动画可以正常工作。但是,对于 android 来说,当它以缓慢且受控的方式使用时似乎可以正常工作,但尤其是在移动速度更快且触摸到虚拟化列表之外时,其边界有时会出现一些奇怪的行为,动画会突然移动相反的方向。
我已经制作了一个演示组件,以便大家看看:
要复制不需要的行为,请在绿色上模拟触摸并上下移动,还应尝试不时终止在白色上的触摸。缓慢起泡效果很好,但是随着quicxker动作的出现,您应该会看到怪癖。
组件:
@Injectable()
export class CustomHttpInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
console.log('Custom Interceptor');
// Adding serverHostURL to all APIs in Interceptor
const serverHostURL = 'http://localhost:8080';
request = request.clone({
url: serverHostURL + request.url
});
return next.handle(request);
}
我做错什么了吗,或者这可能是本机反应?
非常感谢您。