android - Expo/React Native - 添加可点击图标以及 StackNavigator 对象

标签 android reactjs react-native expo

有没有办法将可点击图标与 StackNavigator 对象一起添加?

这是一个有效的代码,它将显示一个“createBottomTabNavigator”,只有一个图标会在按下时显示“OtherScreen”。

const OtherStack = createStackNavigator({
    Other: OtherScreen,
});

OtherStack.navigationOptions = {
    tabBarLabel: 'Other',
    tabBarIcon: ({
        focused
    }) => (
      <TabBarIcon focused={focused} name='archive' />
    ),
};

export default createBottomTabNavigator({
    OtherStack
});

我想向同一个“createBottomTabNavigator”添加一个共享图标,以便它与所有其他图标对齐,但我不希望它导致不同的屏幕。我只是想让它打开一个共享对话框。

我找不到解决方案。有可能吗?有人可以帮忙吗?

最佳答案

您可以通过覆盖路由的 tabBarOnPress 向标签栏添加一个按钮,该按钮不会导致另一个屏幕。这是一个例子:https://snack.expo.io/@notbrent/playful-almond

重要的部分在这里:

Placeholder: {
  screen: () => null,
  navigationOptions: {
    tabBarOnPress: ({ navigation, defaultHandler }) => {
      // don't call default handler!
      alert('pressed placeholder!');
    },
  },
},

关于android - Expo/React Native - 添加可点击图标以及 StackNavigator 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52820780/

相关文章:

android - 使用谷歌助手通过语音测试应用程序操作的正确语法是什么?

javascript - 如何在 react-router Route 中从 onChange 调用 dispatch?

javascript - React 组件子项在渲染前检测是否为空/null

android - Proguard 返回错误代码 1。(Proguard 错误与 untiy-classes.jar)

android - ZXing 自动对焦问题

java - Android .iml 文件的 "jdkName"是如何由 `mfp build` 确定的

react-native - react native /Flex : how to arrange two components horizontal?

react-native - 是否可以在 react native 中将一个 <View> 放在另一个之上?

react-native - 如何在 React Native 中使文本垂直(旋转 90 度)?

react-native - 使用 axios 使用 Rest api