2016-09-26 1 views
10

EditText Androidの要素では、「フルスクリーン編集モード」がandroid:imeOptions="flagNoExtractUi"(詳細はhere)のランドスケープでアクティブにならないようにすることができます。React Native Androidで風景の全画面編集を無効にすることはできますか?

React Native TextInputコンポーネントで同じ動作を複製する方法はありますか?私はドキュメントとStackOverflowを検索し、解決策を見つけられませんでした。

答えて

5

ネイティブのTextInputは、を内部で設定するdisableFullscreenUIの小文字を持っています。

<TextInput disableFullscreenUI={true} />

4

カスタムネイティブコンポーネントを作成し、これをReact Nativeプロジェクトにバインドする方法があります。基本的にというカスタムを作成し、デフォルトでandroid:imeOptions="flagNoExtractUi"に設定されているimeOptionsを使用するか、カスタムEditTextにセッターを作成して@ReactPropを使用して公開することができます。このようにして、React Nativeプロジェクトのコンポーネントの小道具を使って設定することができます。

カスタムUIコンポーネント(特にこのような単純なコンポーネント)を書くことはかなり簡単です。多くはよりも簡単です。まともなdocumentationがあり、多くのチュートリアルがあります。

これが役に立ちます。

+0

ありがとう!受け入れられるのはおそらくそれが現時点で唯一の方法です。私はそれを打つつもりで、もし私がそれを働かせるようにすれば、他の人が使用するためにここにコンポーネントへのリンクを掲示します。 – Nate

+0

'setNativeProps'でこれを行うことはできませんか?それはAndroidにも存在しますか? –

+0

@MattFoley Reactネイティブコンポーネント( 'Text')に' setNativeProps'を使用しても、ネイティブコンポーネント( 'TextView')のReact Nativeに公開されていないプロパティにアクセスすることはできません。ドキュメンテーションが述べるように、 'setNativeProps' *を使用して、状態/小道具を使わずにコンポーネントに直接変更を加えて、サブツリー全体の再レンダリング*をトリガーします。ネイティブコンポーネントのプロパティがReact Nativeで使用できない場合は、独自のカスタムネイティブコンポーネントを作成してそれをReact Nativeにバインドしない限り、アクセスできません。 – George

関連する問題