11

Sto usando phonegap per sviluppare un'app Web per Android, e dato che avrò la mia tastiera in HTML, devo disabilitare la tastiera di sistema di Android, impedendole di mostrando quando l'utente fa clic su qualsiasi campo di inserimento del testo. Non desidero utilizzare il campo di input di sola lettura o onblur() poiché desidero avere il cursore nel testo archiviato in modo che l'utente possa spostare la posizione del cursore mentre sta inserendo gli input.Come disattivare completamente la tastiera software per tutti gli input nella webview Android

Quindi voglio disattivare completamente la tastiera di Android su impostazione predefinita, ho provato ad aggiungere android:windowSoftInputMode="stateAlwaysHidden" a manifest.xml ma questo non funziona.

Inoltre, provo a utilizzare un'interfaccia javascript da here, ma c'era un problema di crash del bridge javascript-java su Android 2.3.x. (link to issue). Quindi non ho ancora una buona soluzione ora. Per favore aiuto.

Grazie in anticipo per qualsiasi aiuto.

+0

Avete configurato '' WebViewClient' e WebChromeClient' del 'del WebView'? Ho lavorato su un progetto che utilizzava jQuery Mobile e dovevamo configurare entrambi gli elementi affinché le cose funzionassero correttamente. Potrebbe essere necessario intercettare un evento JS e collegarlo alla logica Java nel codice nativo. Vedrò questo e ti terremo aggiornato. –

+0

Grazie per i suggerimenti, ma penso che phonegap abbia già configurato sia webviewclient che webchromeclient. Guarderò di più in esso. grazie – kli

+1

Ok, guarda i miei suggerimenti qui sotto.Non sembra che ci sia un bel modo per farlo, ma poi di nuovo fare qualcosa di carino in Android è quasi impossibile in molti casi. –

risposta

1

Ok, hai qualche possibilità! Si può cercare di disattivare completamente la tastiera utilizzando:

  • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

    • Se si sceglie in questo modo, assicurarsi di riportare le impostazioni alla normalità, se questo non viene fatto automaticamente. Non l'ho usato prima e non potrei dirti come si comporta, ma tienilo a mente! Se non si desidera che un utente per rispondere a un testo che ricevono mentre si utilizza la vostra applicazione solo per aver loro tastiera disattivato :)


  • Si potrebbe usare qualcosa di simile alla seguente link. Non l'ho scavato molto accuratamente (tl; dr) ma lui crea una visualizzazione personalizzata che si estende da android.inputmethodservice.KeyboardView e che utilizza invece quella.


Problemi correlati