您可以在React Native Android中禁用横向全屏编辑吗?

时间:2016-09-26 21:30:25

标签: android react-native react-native-android

EditText Android元素中,您可以阻止"全屏编辑模式"通过android:imeOptions="flagNoExtractUi"激活景观(详见here)。

有没有办法用React Native TextInput组件复制相同的行为?我搜索了文档和StackOverflow,但没有找到解决方案。

2 个答案:

答案 0 :(得分:7)

从v0.40.0开始,React Native' TextInput拥有道具disableFullscreenUI,在内部设置imeOptions="flagNoExtractUi"

<TextInput disableFullscreenUI={true} />

答案 1 :(得分:4)

一种解决方案是编写自定义本机组件并将其绑定到React Native项目。您基本上可以创建一个自定义EditText,默认情况下将imeOptions设置为android:imeOptions="flagNoExtractUi",或者为了更加动态的行为,您可以在自定义EditText中创建一个setter并使用@ReactProp公开它。这样,您就可以通过React Native项目中的组件道具进行设置。

编写自定义UI组件(尤其是像这样的简单组件)非常简单,并且很多比听起来更容易。那里有一个不错的documentation和大量的教程。

希望这有帮助。