Наложение входных данных с клавиатуры Android

#javascript #react-native #react-navigation

#javascript #react-native #реагирование-навигация

Вопрос:

Используя KeyboardAvoidingView, у меня есть базовый пример, в котором я хотел бы, чтобы клавиатура перемещала входные данные вверх, чтобы они не перекрывались на Android. Входные данные не перемещаются, когда клавиатура находится в фокусе. Есть идеи?

Входные данные остаются в фиксированном положении, нужно ли мне размещать все в режиме прокрутки?

ОБНОВЛЕНИЕ: я использую вложенные навигаторы, может ли стиль родительского компонента помешать этому работать?

 <KeyboardAvoidingView behavior="padding" style={{ flex: 1 }}>
    <TextInput placeholder="input1" />
    <TextInput placeholder="input2" />
    <TextInput placeholder="input3" />
    <TextInput placeholder="input4" />
    <TextInput placeholder="input5" />
    <TextInput placeholder="input6" />
    <TextInput placeholder="input7" />
    <TextInput placeholder="input8" />
    <TextInput placeholder="input9" />
    <TextInput placeholder="input10" />
    <TextInput placeholder="input11" />
    <TextInput placeholder="input12" />
</KeyboardAvoidingView>
 

Ответ №1:

попробуйте изменить значение behavior height для Android, как описано в keyboardavoidingview

 import { KeyboardAvoidingView,  Platform  } from 'react-native';

<KeyboardAvoidingView behavior={Platform.OS == "ios" ? "padding" : "height"}
style={{ flex: 1 }} >