键盘出现时隐藏TabNavigator

时间:2017-05-10 23:10:07

标签: android reactjs react-native

我在反应导航的反应原生应用程序中使用TabNavigator, 这是我的tabNavigator:

TabNavigator({      
  Newsstand: { screen: Newsstand }
}, {
  tabBarComponent: NavigationComponent,
  tabBarPosition: 'bottom',
  tabBarOptions: {
    bottomNavigationOptions: {
      labelColor: 'white',
      rippleColor: 'white',
      tabs: {
        Newsstand: {
          barBackgroundColor: '#2F4F4F',          
        }
      }
    }
  }
})

现在的问题是,当我在我的应用程序中输入时,我希望它不会出现在键盘的顶部。我怎么能这样做?

我希望能够在滚动视图中添加它,这样它就不会跳到键盘的顶部而是保持固定在它后面的底部

2 个答案:

答案 0 :(得分:0)

正如their docs所说,您可以隐藏它:

let tabBarHeight = 0;
 <TabNavigator
   tabBarStyle={{ height: tabBarHeight, overflow: 'hidden' }}
   sceneStyle={{ paddingBottom: tabBarHeight }}
 />

你试过吗

this.state = {
  tabHeight: 50,
  ...
  }

并在你的TabNavigator中:

...height: this.state.tabHeight, ...

然后用

设置状态
this.setState({tabHeight: 0});

答案 1 :(得分:0)

添加

"android":{"softwareKeyboardLayoutMode": "pan"}

在你的 app.json 中

android:softwareKeyboardLayoutMode="pan",

在您的清单中