สำหรับอุปกรณ์ Android ที่ใช้แป้นพิมพ์อ่อนฉันต้องการป้องกันไม่ให้มุมมองการแก้ไขแป้นพิมพ์เต็มหน้าจอ (แสดงด้านล่าง) ปรากฏเมื่ออยู่ในโหมดแนวนอน (เช่นฉันต้องการเห็นเฉพาะแป้นพิมพ์นุ่มและมุมมองของฉันเท่านั้น)
ฉันคิดว่าสิ่งนี้สามารถทำได้โดยใช้setExtractViewShown(false)
วิธีการในInputMethodService
แต่ฉันไม่สามารถเข้าถึงอินสแตนซ์เริ่มต้นของเรื่องนี้และไม่ต้องการที่จะใช้วิธีการป้อนข้อมูลที่กำหนดเอง
แก้ไขเพื่อเพิ่ม:มุมมองที่อินพุตกำลังจะไม่ใช่TextView
(เป็นการใช้View
กับการปรับInputConnection
ใช้แบบกำหนดเอง) ดังนั้นandroid:imeOptions="flagNoExtractUi"
จะไม่ทำงานที่นี่
flagNoExtractUi
IME_FLAG_NO_EXTRACT_UI
อย่างไรก็ตามในเอกสารประกอบสำหรับIME_FLAG_NO_EXTRACT_UI
ซึ่งสอดคล้องกับflagNoExtractUi
มันระบุว่า "การใช้ธงนี้เป็นกำลังใจและมันอาจกลายเป็นเลิกในอนาคต" ดังนั้นflagNoFullscreen
ตัวเลือกที่แนะนำคือ