gpt4 book ai didi

react-native - 打开键盘时 ScrollView (React Native/Expo)

转载 作者:行者123 更新时间:2023-12-03 15:01:46 32 4
gpt4 key购买 nike

我很难在我的 Expo 应用程序上使用 KeyboardAvoidingView。我想满足以下要求:

  • 当键盘打开时, View 应该向上滚动,以便用户始终看到输入。这就是 KeyboardAvoidingView 的目的。
  • 用户应该能够滚动浏览 整个键盘打开时查看。
  • 不应该有任何奇怪的图形故障。
  • 它应该适用于 iOS 和 Android。

  • 我尝试了 100 种不同的解决方案,但没有得到令人满意的结果。由于我使用Expo,我一直无法使用 https://github.com/APSL/react-native-keyboard-aware-scroll-view因为它需要对 AndroidManifest 进行更改。

    使用KeyboardAvoidingView,我发现最好的解决方案是在iOS 上放置behavior = "padding",而在Android 上根本没有任何行为。但是,仍然存在一个问题:当键盘打开时,用户可以滚动的空间是有限的。因此,当 View 是包含大量输入的长表单时,用户无法在不关闭键盘、滚动然后再次打开键盘的情况下到达表单底部。

    我还有一个问题,即键盘在输入焦点后立即打开,但我想留出一些额外的空间,因为我的输入有一些填充。使用 keyboardVerticalOffset属性对此没有影响。

    在阅读了有关该主题的数十篇文章后,似乎没有人真正了解 KeyboardAvoidingViews 的工作原理以及如何有效地使用它们。即使在官方的 React Native 文档中,也提到“Android 和 iOS 都与此 Prop [(behavior)] 的交互方式不同。当完全没有行为 Prop 时,Android 可能表现得更好,而 iOS 则相反”,就像他们不不太明白这个属性是什么。

    是否有人了解如何使用 KeyboardAvoidingView 以及如何使用它以满足 4 个要求?

    最佳答案

    我们正在使用这个

    <KeyboardAwareScrollView  keyboardShouldPersistTaps={'always'}
    style={{flex:1}}
    showsVerticalScrollIndicator={false}>
    {/* Your code goes here*/}
    </KeyboardAwareScrollView>

    并且我们没有面对这四个问题中的任何一个

    关于react-native - 打开键盘时 ScrollView (React Native/Expo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52156083/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com