native固定吸顶 react_[RN] React Native 头部 滑动吸顶效果的实现

本文介绍如何在React Native应用中实现头部滑动吸顶的效果。通过使用`Animated`库和`FlatList`组件,结合`onScroll`事件监听滑动,并更新状态来控制头部组件的显示。示例代码中展示了如何设置滑动事件和获取头部高度,从而实现吸顶效果。
摘要由CSDN通过智能技术生成

import React, {Component} from 'react';

import {Animated, FlatList, Text, View, StyleSheet}from 'react-native';

import StickyHeaderfrom "./StickyHeader";

exportdefault classMovieListScreen extends Component {

constructor(props) {

super(props);this.state ={

movieList: [1, 2, 3, 4, 5, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8],

scrollY:new Animated.Value(0),

headHeight:-1};

}

_keyExtractor= (item, index) =>index.toString();

_itemDivide= () =>{return ;

};

render() {return(

style={{flex: 1}}

onScroll={

Animated.event(

[{

nativeEvent: {contentOffset: {y: this.state.scrollY}} // 记录滑动距离

}],

{useNativeDriver: true}) // 使用原生动画驱动

}

scrollEventThrottle={1}

>

{

let {height} = e.nativeEvent.layout;

this.setState({headHeight: height}); // 给头部高度赋值

}}>

这是头部

stickyHeaderY={this.state.headHeight} // 把头部高度传入

stickyScrollY={this.state.scrollY} // 把滑动距离传入

>

这是顶部

data={this.state.movieList}

renderItem={this._renderItem}

keyExtractor={this._keyExtractor}

ItemSeparatorComponent={this._itemDivide}/>

)

}

_renderItem= (item) =>{return(

666

);

};

}const styles =StyleSheet.create({

container: {

flex:1,

},

topHeader: {

height:60,

textAlign:"center",

},

tab: {

height:80,

zIndex:999,

textAlign:"center",

backgroundColor:"red"}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值