Android: ما هو التصميم عندما يكون IME نشطًا؟
-
28-09-2019 - |
سؤال
ربما بعض الخلفية: أحاول الحصول على عرض لوحة مفاتيح محددة فوق شاشة كاملة قابلة للتمرير EditText
عندما ينقر عليها المستخدم. المشكلة هي أنه إذا كان المؤشر في أسفل EditText
يتم إخفاءه بواسطة عرض لوحة المفاتيح.
الاختلاف الواضح لمواجهة IME-View العادية هو أن الرؤية IME-VION تدفع EditText
إلى الأعلى ويتيح للمستخدم التمرير بأكمله EditText
في تلك المنطقة العلوية. تقع عرض لوحة المفاتيح في الأسفل. كل شيء مرئي ويمكن الوصول إليه. هذا ما أريد تحقيقه مع المنبثقة أيضًا.
لذلك ، سؤالي هو: كيف يبدو التصميم عندما يكون IME العادي مرئيًا؟ لا أحتاج إلى الرسوم المتحركة (إذا كان من الصعب القيام بذلك ، يمكنني تخطي هذا الجزء).
حاولت حلقة التسلسل الهرمي للتخطيط لمعرفة ما هو مختلف. هذا هو مع مرئي IME:
root: com.android.internal.policy.impl.PhoneWindow$DecorView
android.widget.LinearLayout
android.widget.FrameLayout
android.widget.TextView
android.widget.FrameLayout #1
android.widget.RelativeLayout
android.widget.ScrollView
android.widget.EditText
com.mytest.KeyboardView
هنا هو بدون IME ورؤية المنبثقة الخاصة بي مرئية:
root: com.android.internal.policy.impl.PhoneWindow$DecorView
android.widget.LinearLayout
android.widget.FrameLayout
android.widget.TextView
android.widget.FrameLayout #1
android.widget.RelativeLayout
android.widget.ScrollView
android.widget.EditText
com.mytest.KeyboardView
من الواضح ، لا يوجد فرق. هل IME مفقود حقًا؟
من أجل فهم أسهل ، قمت بتمييز تطبيقي بـ "#1" ، لذا فإن RelativeLayout
هو عنصر الجذر في بلدي XML-layout.
هل يمكن لأي شخص مساعدتي؟ إذا كان لدى شخص ما تخطيط على طراز XML جاهز ، سأكون أكثر من سعيد لرؤيته.
تحديث
الآن أعتقد أنني كنت مخطئًا في التفكير في أن الرؤية IME ستضع نفسها في التسلسل الهرمي للتخطيط للنشاط.
في غضون ذلك كنت أحاول صنع ملف PopupWindow
العمل ، ولكن لم يستطع التوصل إلى شيء من شأنه إصلاح المشكلة مع المؤشر المخفي في EditText
.
لذلك ، اسمحوا لي أن أسأل هذا: كيف تظهر عرض IME أو كيف يتم نسجها في الشاشة الكلية؟ كيف يتم التمرير نفسه أسفل حقل التحرير ويحرك حقل التحرير لأعلى ويجعله التمرير بالطريقة التي تعمل بها؟
المحلول
يبدو أن IME لا يمكن الوصول إليها. أو على الأقل لا يمكن الوصول إليه بأي شكل من الأشكال بواسطة التطبيق.
لدي الآن رؤية ثابتة إلى حد ما EditText
ولوحة المفاتيح. لوحة المفاتيح لا تحوم في الشاشة ولا هي أي أشياء خيالية أخرى. تم تركيبه أسفل EditText
. هذا هو. لا يبدو مذهلاً أو أي شيء ، لكننا اتفقنا هنا على أن المستخدم ربما لن يدخل قصصًا طويلة.