2016-09-26 7 views
10

EditText एंड्रॉइड तत्व में आप android:imeOptions="flagNoExtractUi" (विस्तृत here के साथ) में परिदृश्य में सक्रिय होने से "पूर्णस्क्रीन संपादन मोड" को रोक सकते हैं।क्या आप रिएक्ट नेटिव एंड्रॉइड में लैंडस्केप में फुलस्क्रीन संपादन अक्षम कर सकते हैं?

क्या एक ही व्यवहार को प्रतिकूल मूल TextInput घटक के साथ दोहराने का कोई तरीका है? मैंने दस्तावेज़ों और स्टैक ओवरफ्लो के माध्यम से खोज की है और मुझे कोई समाधान नहीं मिला है।

उत्तर

5

v0.40.0 से शुरू प्रतिक्रिया मूल TextInput प्रोप disableFullscreenUI है, जो आंतरिक रूप से imeOptions="flagNoExtractUi" सेट करता है।

<TextInput disableFullscreenUI={true} />

4

एक समाधान एक कस्टम मूल घटक लिखना होगा और इसे आपके प्रतिक्रियात्मक मूल परियोजना से बांधना होगा। आप मूल रूप से एक कस्टम EditText बनाते हैं, जिसमें या तो imeOptions डिफ़ॉल्ट रूप से android:imeOptions="flagNoExtractUi" पर सेट होते हैं या अधिक गतिशील व्यवहार के लिए आप अपने कस्टम संपादन टेक्स्ट में एक सेटटर बना सकते हैं और इसे @ReactProp का उपयोग करके बेनकाब कर सकते हैं। इस तरह आप इसे अपने प्रतिक्रिया मूल परियोजना से घटक के प्रोप के माध्यम से सेट करने में सक्षम होंगे।

एक कस्टम यूआई घटक (विशेष रूप से इस तरह का एक साधारण) लिखना बहुत सीधी आगे है और बहुत ध्वनि से अधिक आसान हो सकता है। वहां एक सभ्य documentation और वहां बहुत सारे ट्यूटोरियल हैं।

उम्मीद है कि इससे मदद मिलती है।

+0

धन्यवाद! स्वीकार कर रहा है क्योंकि ऐसा लगता है कि वर्तमान में ऐसा करने का शायद यही एकमात्र तरीका है। मैं इसे एक शॉट दूंगा और यदि मैं इसे काम करने के लिए मिलता हूं तो मैं दूसरों के उपयोग के लिए यहां घटक के लिए एक लिंक पोस्ट करूंगा। – Nate

+0

क्या यह 'setNativeProps' के माध्यम से ऐसा करना संभव नहीं है? क्या यह एंड्रॉइड पर भी मौजूद है? –

+0

@MattFoley एक वास्तविक मूल घटक ('टेक्स्ट') पर 'setNativeProps' का उपयोग करके इसका मतलब यह नहीं है कि आप मूल घटक (' TextView') के गुणों तक पहुंच सकते हैं जो प्रतिक्रिया मूल के संपर्क में नहीं आते हैं। प्रलेखन के अनुसार, आप पूरे उपट्री * के पुन: प्रस्तुत करने के लिए राज्य/प्रोप का उपयोग किए बिना सीधे घटक में परिवर्तन करने के लिए 'setNativeProps' * का उपयोग करते हैं। यदि किसी मूल घटक की संपत्ति रिएक्ट नेटिव में उपलब्ध नहीं है, तो आप इसे तब तक नहीं एक्सेस कर सकते जब तक कि आप अपना खुद का कस्टम मूल घटक नहीं बनाते और इसे मूल रूप से प्रतिक्रिया देने के लिए बाध्य करते हैं। – George

संबंधित मुद्दे