#react-native #react-native-ios #react-native-scrollview
#react-native #react-native-ios #react-native-scrollview
Вопрос:
Я пытаюсь создать iMessage, подобный sticky text input, где содержимое ScrollView перемещается вверх, когда отображается клавиатура, и вниз, когда клавиатура перетаскивается, закрывается. В репозитории React Native на Github есть пример InputAccessoryViewExample.js это почти именно то, что я хочу, за исключением того, что когда отображается клавиатура, содержимое ScrollView (сообщения) закрывается клавиатурой.
Я попробовал несколько следующих перестановок, но безуспешно.
<>
<KeyboardAvoidingView style={{flex: 1}} behavior="padding">
<ScrollView style={{flex: 1}} keyboardDismissMode="interactive">
{Array(15)
.fill()
.map((_, i) => <Message key={i} />)}
</ScrollView>
</KeyboardAvoidingView>
<InputAccessoryView backgroundColor="#fffffff7">
<TextInputBar />
</InputAccessoryView>
</>
Комментарии:
1. KeyboardAvoidingView, как известно, неудобен. Возможно, было бы проще просто создать свою собственную реализацию
2. Можете ли вы попробовать добавить android: windowSoftInputMode =»adjustPan» к вашему тегу activity в androidManifest.xml ? (вам нужно перестроить свое приложение, а не только js)
3. Я использовал react-native-вид прокрутки с поддержкой клавиатуры , надеюсь, вам это тоже поможет
4. @Kai Я попробовал свою собственную реализацию, которая работает для других случаев, но она использует ту же идею, что и KeyboardAvoidingView (я просто добавляю несколько прослушивателей клавиатуры и настраиваю заполнение внизу).
5. @Kornflexx Извините, я должен был упомянуть, что я делаю это только для ios.