Ответ 1
Начиная с v0.40.0 React Native TextInput
имеет prop disableFullscreenUI
, который устанавливает imeOptions="flagNoExtractUi"
внутренне.
<TextInput disableFullscreenUI={true} />
В элементе EditText
Android вы можете запретить "полноэкранный режим редактирования" активироваться в альбомном режиме с помощью android:imeOptions="flagNoExtractUi"
(как описано ниже здесь).
Есть ли способ воспроизвести одно и то же поведение с компонентом React Native TextInput
? Я искал документы и StackOverflow и не нашел решения.
Начиная с v0.40.0 React Native TextInput
имеет prop disableFullscreenUI
, который устанавливает imeOptions="flagNoExtractUi"
внутренне.
<TextInput disableFullscreenUI={true} />
Одним из решений было бы написать собственный пользовательский компонент и связать его с вашим проектом React Native. В основном вы создадите пользовательский EditText
, который либо по умолчанию имеет значение imeOptions, либо android:imeOptions="flagNoExtractUi"
, либо для более динамичного поведения вы можете создать сеттер в своем пользовательском EditText и выставить его с помощью @ReactProp
. Таким образом, вы сможете установить его через компонентные реквизиты из вашего проекта React Native.
Написание пользовательского компонента пользовательского интерфейса (особенно простого такого типа) довольно прямолинейно и намного проще, чем может показаться. Там есть достойная документация и множество обучающих программ там.
Надеюсь, что это поможет.