Javascript 当打开键盘时,底部选项卡栏会自动向上推
我们正在使用CreateBoottomTabNavigator。在其中一个选项卡的顶部包含搜索栏。在点击搜索栏的同时,我们打开了键盘。但键盘也会向上推底部的选项卡栏。我们需要在打开键盘时,底部选项卡栏保持在底部Javascript 当打开键盘时,底部选项卡栏会自动向上推,javascript,android,react-native,react-native-android,bottomnavigationview,Javascript,Android,React Native,React Native Android,Bottomnavigationview,我们正在使用CreateBoottomTabNavigator。在其中一个选项卡的顶部包含搜索栏。在点击搜索栏的同时,我们打开了键盘。但键盘也会向上推底部的选项卡栏。我们需要在打开键盘时,底部选项卡栏保持在底部 我尝试过的解决方案之一是,在android清单中,我更改了android:WindowsOfInputMode=“adjustPan”或“adjustNothing”。它工作得和预期的一样好。但我们在另一个需要“调整大小”的选项卡中使用聊天版式。所以我必须为WindowsOfInputM
只需转到
AndroidManifest.xml
文件并在activity
内更改/添加标记:
android:windowSoftInputMode="adjustPan"
我找到了这个问题的解决办法。之前,我在配置“react native android键盘调整”时犯了一个小错误。现在它运行良好。因此,我们可以使用此库更改特定组件的“WindowsofInputMode”-我使用了React navigation 5,这是您想要的吗
<SignedIn.Navigator
tabBarOptions={{
keyboardHidesTabBar: true
}}
}>
</SignedIn.Navigator>
我想在这里读一读。我也有同样的问题。以下是我成功解决问题的两种方法
“softwareKeyboardLayoutMode”:“pan”
到app.json,如下所示TextInputs
的ScrollView
没有按我希望的方式工作。整个应用程序屏幕被键盘的高度所转换,隐藏了我的ScrollView
的一半以及上面的所有内容(标题和内容)
“softwareKeyboardLayoutMode”
,使其默认为高度
(这会导致CustomBottomTabNav
在整个屏幕压缩到剩余高度时上升到键盘上方)
步骤2:当键盘处于活动状态时,动态重置CustomBottomTabNav
的位置
文本输入的屏幕中
<ScrollView style={{ height: keyboard.keyboardShown? 510 - keyboard.keyboardHeight: 510}}>
/* lots of text inputs*/
</ScrollView>
第二种方法的工作更加可靠。我尝试了
keyboardavoidgview
,但无法控制其不可预测的行为。您希望底部选项卡栏保持可见,但位于键盘下方,还是希望键盘滑动到选项卡栏顶部并隐藏它(即模式视图)?谢谢您的回复。任何解决方案都是可以接受的。是的,我可以说,当键盘打开时,我需要隐藏底部选项卡栏。来自“反应导航材质底部选项卡”的createMaterialBottomTabNavigator非常有效。欲了解更多信息:我们已尝试。它工作得很好。但我们必须使用“调整大小”,因为我们在另一个选项卡中使用聊天版面。如果我在聊天版式页面中使用“adjustPan”,则整个视图甚至与标题一起向上推。因此,我们必须使用“调整大小”。还有其他解决办法吗?如果我们可以私下与您联系,请在任何社交媒体上提供您的联系方式。在您的情况下,android:WindowsOfInputMode=“adjustPan | adjustResize”如何?在这种情况下,它仅采用“adjustPan”的行为。只有“adjustPan”和“adjustPan | adjustResize”都只提供“adjustPan”行为。它与默认的选项卡栏
一起工作,但当我提供自己的选项卡栏
时(即,这样做:选项卡栏={(道具)=>
),它不起作用。有什么解决方案吗?@AminDannak你能提供更多关于你自己的自定义选项卡栏的详细信息吗?@Pok类似这样的东西:@AminDannak你能分享你的源代码片段吗?我不能只知道你的几行代码就调试你的代码。我知道这个问题提出已经一年多了,但我很抱歉为有类似问题的未来开发人员解答
"android": {
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#FFFFFF"
},
"softwareKeyboardLayoutMode":"pan"
}
<ScrollView style={{ height: keyboard.keyboardShown? 510 - keyboard.keyboardHeight: 510}}>
/* lots of text inputs*/
</ScrollView>
tabBarOptions={{
...otherStuff,
style={{ bottom: keyboard.keyboardShown? -100: -10, ...otherStuff}}
}}