11

Używam phonegapa do opracowania aplikacji internetowej dla systemu Android, a ponieważ będę mieć własną klawiaturę w HTML, muszę wyłączyć klawiaturę systemu Android, uniemożliwiając jej pojawia się, gdy użytkownik kliknie dowolne pole wprowadzania tekstu. Nie chcę korzystać z pola wejściowego tylko do odczytu lub od onblur(), ponieważ chciałbym umieścić kursor w polu tekstowym, aby użytkownik mógł przesunąć pozycję kursora podczas wprowadzania danych wejściowych.Jak całkowicie wyłączyć klawiaturę programowalną dla wszystkich danych wejściowych w przeglądarce internetowej

Więc chcę całkowicie wyłączyć klawiaturę Android domyślnie, próbowałem dodać android:windowSoftInputMode="stateAlwaysHidden" do manifest.xml, ale to nie działa.

Próbuję również użyć interfejsu javascript od here, ale wystąpił błąd zawieszania się javascript-java bridge w systemie Android 2.3.x. (link to issue). Więc nadal nie mam dobrego rozwiązania. Proszę pomóż.

Z góry dziękuję za pomoc.

+0

Czy skonfigurowany 'WebView' za' WebViewClient' i 'WebChromeClient'? Pracowałem nad projektem wykorzystującym jQuery Mobile i musieliśmy skonfigurować oba te elementy, aby wszystko działało poprawnie. Być może będziesz musiał przechwycić zdarzenie JS i powiązać je z logiką Java w natywnym kodzie. Zajrzę do tego i będę na bieżąco informować. –

+0

Dzięki za porady, ale myślę, że phonegap już skonfigurował zarówno webviewclient, jak i webchromeclient. Będę się w to bardziej interesować. dzięki – kli

+1

OK, przejrzyj moje sugestie poniżej.Wygląda na to, że nie jest to całkiem dobry sposób, ale z drugiej strony zrobienie czegoś ładnie na Androidzie jest prawie niemożliwe w wielu przypadkach. –

Odpowiedz

1

Okej, masz kilka opcji! Można spróbować wyłączyć całkowicie za pomocą klawiatury:

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

    • Jeśli wybierzesz tę drogę, upewnij się, aby powrócić do normalnego ustawienia, jeśli to nie odbywa się automatycznie. Nie używałem tego wcześniej i nie mogłem powiedzieć, jak się zachowuje, ale miej to na uwadze! Nie chcesz użytkownikowi odpowiadać w tekście, które otrzymują podczas korzystania z aplikacji tylko, aby ich klawiatura wyłączony :)


  • Można użyć coś podobnego do następujący link. Nie przeszukałem go bardzo dokładnie (tl; dr), ale on tworzy niestandardowy widok, który rozciąga się od android.inputmethodservice.KeyboardView i używa go zamiast tego.


Powiązane problemy