如何解决Android 设备上的 OnScroll 动画不流畅
我想在用户滚动页面时冻结客户资料组件,因此我将 scrollY 值设置为 translateY 属性以避免组件向上移动。但是,在Android设备上,当用户滚动速度稍快时,即使我已经添加了useNativeDriver: true
,组件也会变得有点不稳定。
真的感激,如果有人可以提供帮助,已经挣扎了好几天了。
以下是整个屏幕的代码:
const scrollY = React.useRef(new Animated.Value(0)).current;
<Animated.ScrollView
scrollEventThrottle={16}
automaticallyAdjustContentInsets={false}
contentContainerStyle={{ flexGrow: 1 }}
contentInsetAdjustmentBehavior="automatic"
bounces={false}
showsverticalScrollIndicator={false}
onScroll={Animated.event(
[{ nativeEvent: { contentOffset: { y: scrollY } } }],{ useNativeDriver: true }
)}
>
<Animated.View
style={{
width: deviceWidth,height: 250,backgroundColor: 'lightgrey',paddingHorizontal: 30,justifyContent: 'center',alignItems: 'center',transform: [
{
translateY: scrollY
}
]
}}
>
<View
style={{
borderRadius: 100 / 2,width: 100,height: 100,backgroundColor: 'white',marginBottom: 20
}}
></View>
<Text style={{ marginBottom: 5,fontSize: 22 }}>Chris groves</Text>
<Text style={{ fontSize: 30,fontWeight: 'bold' }}>$ 190.83</Text>
</Animated.View>
<View
style={{
backgroundColor: 'white',alignItems: 'center'
}}
>
<View
style={{
height: 200,width: 350,backgroundColor: 'red',marginVertical: 30
}}
/>
<View
style={{
height: 200,marginBottom: 30
}}
/>
<View
style={{
height: 200,marginBottom: 30
}}
/>
<View style={{ height: 200,backgroundColor: 'red' }} />
</View>
</Animated.ScrollView>
演示视频以便更好地理解: Demo Video
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。