- Notifications
You must be signed in to change notification settings - Fork7
A React Native component that creates a Apple-esque large header that fades in a smaller header as you scroll.
License
jonsamp/react-native-header-scroll-view
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
🚨 DEPRECATED and unmaintained 🚨
This library is an emulation of native iOS large headers. Now you can access the real thing withreact-native-screens/native-stack. This library is a drop-in replacement for React Navigation's stack view, and includes direct access to native large headers/transitions etc. It has awesome performance.
You can see it in action in this app:github,download on the app stores.
A React Native component that mimicks Apple's large header that fades in a smaller header as you scroll, and slightly expands as you scroll up. You can see this effect in Apple's Messages, Books, etc.
# yarnyarn add react-native-header-scroll-view# npmnpm install react-native-header-scroll-view --save
Then, import with:
importHeaderScrollViewfrom'react-native-header-scroll-view';
Example usage:
importReact,{Component}from'react';import{Text}from'react-native';importHeaderScrollViewfrom'react-native-header-scroll-view';classAppextendsComponent{render(){return(<HeaderScrollViewtitle="For You"><Text>...</Text></HeaderScrollView>);}}
To use this component with React Navigation, you'd want to disable the built-in header. There are 2 ways to disable the header in React Navigation:
Disable the default header for one screen:
staticnavigationOptions={headerShown:false};
Disable header globally increateStackNavigator
:
constHome=createStackNavigator({ ExampleScreen1, ExampleScreen1,},{headerMode:'none',});
For default Apple-style settings, you only need to provide:
Prop | Type | Description |
---|---|---|
title | string | The title of the header. This will show up as large text inside the scroll view and then fade in as the smaller text inside the header. |
From there, you can customize this component to get exactly what you want.
Prop | Type | Description |
---|---|---|
titleStyle | React Native style or Object | Styles the large header title component inside the scroll view. |
containerStyle | React Native style or Object | Styles the entire container wrapping the header and the scrollview. |
headerContainerStyle | React Native style or Object | Styles the container of the header component that appears after scrolling. |
headerComponentContainerStyle | React Native style or Object | Styles the component inside the header. Anything within this style will fade in and out as the scroll position changes. |
headlineStyle | React Native style or Object | Styles the header text inside the header that appears after scrolling. |
scrollContainerStyle | React Native style or Object | Styles the scroll view component. |
fadeDirection | String | When the header component fades, it can fade'up' or'down' , |
scrollViewProps | Object | Pass any extra props to the scrollView. |
Visual reference of the styles containers:
About
A React Native component that creates a Apple-esque large header that fades in a smaller header as you scroll.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.