底部选项卡导航器上方的粘性组件

Sticky component above bottom tab navigator

提问人:David Márquez 提问时间:10/30/2023 最后编辑:Ken WhiteDavid Márquez 更新时间:10/31/2023 访问量:93

问:

我正在创建一个粘性组件,我想在我的选项卡栏导航器顶部显示它。组件的位置必须是相对的,否则它将覆盖我的应用程序的内容。我希望每个屏幕的提供程序都相同。

我将部分代码保留在下面:

供应商:

export const PlayerProvider = ({ children }) => {
  const { player, play, pause, playSong } = useSongPlayer();

  return (
    <PlayerContext.Provider value={{ player, play, pause, playSong }}>
      {children}
      <SongPlayer ... code />
    </PlayerContext.Provider>
  )
};

BottomTab导航器:


const Tab = createBottomTabNavigator();
export const BottomTabNavigation = () => (
  <Tab.Navigator initialRouteName='Home' screenOptions={{ tabBarActiveTintColor: 'white', tabBarStyle: styles.bottomContainer }}>
     <Tab.Screen ... tab1/>
    <Tab.Screen ... tab2/>
    <Tab.Screen ...tab3/>
  </Tab.Navigator>
);

应用程序:

export default function App() {
 ... some code ... 
  return (
    ... code
    <BottomTabNavigation />
    ... code
  );
}

我尝试了不同的替代方案,但没有一个能完全满足我的要求。

react-native bottomnavigationview 粘脚

评论

0赞 David Márquez 10/30/2023
我对snack不是很熟悉,请告诉我是否可以查看代码 snack.expo.dev/@david-marquez/spotify-clone 如果没有,您可以查看我的repo github.com/Marquez-David/ReactNative-SpotifyClone

答:

1赞 famfamfam 10/31/2023 #1

好的,我让它为你工作,关键是:

customComponent: {
    position: 'absolute',
    left: 12, right: 12,
    borderRadius: 12,
    bottom: 49 + 8, //assume bottomnavigation height
    justifyContent: 'space-between',
    flexDirection: 'row',
    backgroundColor: colors.bottomTabBackground,
  },

在此处查看更多内容:

https://snack.expo.dev/@fukemy/spotify-clone