Sui dispositivi Android che utilizzano tastiere software, voglio impedire che la visualizzazione di modifica della tastiera a schermo intero (mostrata di seguito) appaia in modalità orizzontale (ovvero voglio vedere solo la tastiera software stessa e la mia vista dietro di essa).
Presumo che ciò possa essere ottenuto utilizzando il setExtractViewShown(false)
metodo on InputMethodService
, ma non sono in grado di accedere all'istanza predefinita di questo e non voglio implementare un metodo di input personalizzato.
Modificato per aggiungere: la vista a cui sta andando l'input non è una TextView
(è una View
con InputConnection
un'implementazione personalizzata ), quindi android:imeOptions="flagNoExtractUi"
non funzionerà qui.
flagNoExtractUi
o IME_FLAG_NO_EXTRACT_UI
. Tuttavia, nella documentazione per IME_FLAG_NO_EXTRACT_UI
, che corrisponde a flagNoExtractUi
, si afferma che "L'uso di questo flag è scoraggiato e potrebbe diventare deprecato in futuro", quindi flagNoFullscreen
è l'opzione consigliata.