Как подняться только на определенные элементы, если в React-Native включена клавиатура? - PullRequest
0 голосов
/ 07 ноября 2018

Я создаю экран чата в React-Native, и проблема, с которой я сейчас сталкиваюсь, заключается в том, что, когда я включаю клавиатуру, контент перемещается не так, как предполагалось. Я попробовал несколько вещей, но ни одна из них не сработала, как ожидалось.

Вот экран, на котором я отметил контент, который должен быть перемещен вверх при наличии клавиатуры:

enter image description here

Во-первых, я попробовал следующую структуру

  <ScrollView scrollEnabled={false} keyboardShouldPersistTaps="handled">
    <KeyboardAvoidingView behavior="position">
        /...The rest of the content.../
    </KeyboardAvoidingView>
</ScrollView

и вот экран enter image description here

как видно на изображении, весь контейнер «подталкивается» клавиатурой, а когда клавиатура исчезает, содержимое возвращается в нормальное положение.

Во втором случае я попытался присвоить параметру behavior KeyboardAvoidingView значение "padding", но это не помогло, клавиатура просто перемещалась по экрану, и содержимое не отображалось. не изменять вообще

И, по крайней мере, я попытался присвоить тому же behavior значение "height", и оно, казалось, работало, как я хотел, но проблема появилась, когда клавиатура исчезла - перемещенный контент не перешел в исходное положение. Вот экраны:

enter image description here enter image description here

1 Ответ

0 голосов
/ 07 ноября 2018

Устранение проблемы, мне просто нужно было поместить последний контейнер (тот, в который помещается ввод) в KeyboardAvoidingView с behavior="padding"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...