Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7
numandev1/react-native-curved-bottom-tabbar
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Built withreact-native-gesture-handler andreact-native-reanimated.
Fully native 60 FPS animations.
![]() | ![]() | ![]() |
|---|
$ npm install react-native-curved-bottom-tabbar --save
or
$ yarn add react-native-curved-bottom-tabbar
Requierd Dependencies:react-native-gesture-handler andreact-native-reanimated.
importReanimatedCurvedTabBarfrom"react-native-curved-bottom-tabbar";// TODO:<Viewstyle={styles.con}><ReanimatedCurveTabBar// ** Requiredheight={230}// Array of components (icons) []// ** RequirediconsArray={[...Array(ARRAY_LENGTH)].map((item,index)=>(<Viewstyle={styles.icon}><Text>{index+1}</Text></View>))}// Return icon numberonPress={(btnNum)=>console.log(btnNum)}allowDropAnime={true}/></View>;
<Viewstyle={styles.con}><ReanimatedCurveTabBar// ** Requiredheight={230}// ** RequirediconsArray={[...Array(ARRAY_LENGTH)].map((item,index)=>(<Viewstyle={styles.icon}><Text>{index+1}</Text></View>))}onPress={(btnNum)=>console.log(btnNum)}// Array of ScreensscreensArray={[...Array(ARRAY_LENGTH)].map((item,index)=>(<Viewstyle={{ width, height,backgroundColor:"eee",alignItems:"center",justifyContent:"center",}}><Text>{index+1}</Text></View>))}allowDropAnime={true}/></View>
<NavigationContainer><Tab.NavigatortabBar={(props)=>(<ReanimatedCurveTabBar// ** Required{...props}// ** RequiredreactNaviagtionBar={true}// ** Requiredheight={200}// ** RequirediconsArray={[...Array(ARRAY_LENGTH)].map((item,index)=>(<Viewstyle={styles.icon}><Text>{index+1}</Text></View>))}allowDropAnime={true}/>)}> // Your Screens Here // ** Screens name property must be 1 - screens / iconsArray length // ** Screens number equal to iconsArray length // For more info look in Example</Tab.Navigator></NavigationContainer>
<ReanimatedCurveTabBarheight={230}iconsArray={[...Array(ARRAY_LENGTH)].map((item,index)=>(<Viewstyle={styles.icon}><Text>{index+1}</Text></View>))}onPress={(btnNum)=>console.log(btnNum)}topGap={15}tabColor={'white'}backgroundColor={'firebrick'}duration={300}sidesRadius={1}marginBottom={23}scaleYCircle={1.4}iconTranslateY={-5}lockTranslateYAnime={true}iconScale={1.4}lockScaleAnime={true}iconDropY={30}allowDropAnime={true}dropWithFirst={false}/></View>
| name | required | default | description | type |
|---|---|---|---|---|
| height | yes | 15 | Nav bar height | Number |
| iconsArray | yes | 0 | [, ...] // MAX iS 7! | Array |
| screensArray | no | 0 | [, ...] // MAX iS 7! | Array |
| onPress | no | Return the number of the pressed icon (1-7) | Method | |
| reactNaviagtionBar | no | Use as react-navigation/bottom-tabs's "tabBar" property | Boolean | |
| topGap | no | 0 | Top Gap height | Number |
| tabColor | no | 'white' | Tabs color | Color |
| backgroundColor | no | 'dodgerblue' | Background color | Color |
| duration | no | 300 | Animation duration | Number |
| sidesRadius | no | 1 | multipling the default sides radius 0.1 - 1 | Number |
| marginBottom | no | 23 | Icons marginBottom (distance from ground). recommended values depends on component height | Number |
| scaleYCircle | no | 1.4 | Glich animation in the bottom of picked icon. Recommended values: 0.7 - 1.4 | Number |
| iconTranslateY | no | -10 | Picked icon translateY Animation. - => top ; + => bottom | Number |
| lockTranslateYAnime | no | Active icon translateY animation | Boolean | |
| iconScale | no | 1.4 | Picked icon scaling animation | Number |
| lockScaleAnime | no | Active icon scaling animation | Boolean | |
| iconDropY | no | 30 | Icons drop down animation | Number |
| allowDropAnime | no | Active Icons drop down animation | Boolean | |
| allowDropAnime | no | First icon will also drop down | Boolean |
About
Curved Bottom Tabbar React Native
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
No packages published
Contributors2
Uh oh!
There was an error while loading.Please reload this page.



