Как показать заголовок при прокрутке вверх и скрыть заголовок при прокрутке вниз на FlatList
Теперь я хочу создать, точно так же, как приложение Facebook, панель, отображаемую над моим tabNavigator. Эти вкладки скрываются при прокрутке вниз и отображаются при прокрутке вверх. И теперь я использую FlatList, но у компонента FlatList есть опция ListHeaderComponent для рендеринга его заголовка, который также скрывается при прокрутке вниз. (потому что он сверху, поэтому нужно прокрутить до начала, чтобы увидеть его, не очень удобно с моим очень длинным элементом списка)
Пожалуйста, помогите мне любую идею.
1 ответ
Плоский список предоставляет вам верхний и нижний колонтитулы. Вы должны сделать это вручную. Я нашел одну ссылку, которая связана со складной навигационной панелью.
https://medium.com/appandflow/react-native-collapsible-navbar-e51a049b560a
https://expo.io/@janic/collapsible-navbar этого lnk есть демоверсия. так что вы можете проверить это здесь
может это полезно!
[...]
const NAVBAR_HEIGHT = 64;
const STATUS_BAR_HEIGHT = Platform.select({ ios: 20, android: 24 });
class App extends Component {
[...]
render() {
return (
<View style={styles.fill}>
<Flatlist
contentContainerStyle={styles.contentContainer}
dataSource={this.state.dataSource}
renderRow={this._renderRow}
/>
<View style={styles.navbar}>
<Text style={styles.title}>
PLACES
</Text>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
navbar: {
position: 'absolute',
top: 0,
left: 0,
right: 0,
alignItems: 'center',
backgroundColor: 'white',
borderBottomColor: '#dedede',
borderBottomWidth: 1,
height: NAVBAR_HEIGHT,
justifyContent: 'center',
paddingTop: STATUS_BAR_HEIGHT,
},
contentContainer: {
paddingTop: NAVBAR_HEIGHT,
},
[...]
});
[...]