11

Android 용 웹 앱을 개발하기 위해 phonegap을 사용하고 있습니다. HTML로 직접 키패드를 사용하기 때문에 Android의 시스템 키보드를 사용하지 않아야합니다. 사용자가 텍스트 입력 필드를 클릭하면 표시됩니다. Readonly 입력 필드 또는 onblur()을 사용하고 싶지 않습니다. 텍스트 입력란에 커서를두고 싶기 때문에 입력을 입력하는 동안 커서 위치를 이동할 수 있습니다.Android webview의 모든 입력에 대해 소프트 키보드를 완전히 비활성화하는 방법

기본적으로 안드로이드의 키보드를 완전히 비활성화하고 싶습니다. android:windowSoftInputMode="stateAlwaysHidden"manifest.xml에 추가하려고 시도했지만 작동하지 않습니다.

here에서 자바 스크립트 인터페이스를 사용해보세요.하지만 Android 2.3.x에서 자바 스크립트 - 자바 브리지 충돌 문제가 발생했습니다 (link to issue). 그래서 지금은 여전히 ​​좋은 해결책이 없습니다. 도와주세요.

도움을 주셔서 감사합니다.

+0

당신은'WebView'의'WebViewClient'와'WebChromeClient'을 구성 했습니까? 저는 jQuery Mobile을 사용하는 프로젝트에서 작업했고, 제대로 작동하려면 두 가지를 모두 구성해야했습니다. JS 이벤트를 가로 채서 네이티브 코드의 Java 로직에 연결해야 할 수도 있습니다. 이것에 대해 살펴보고 계속 업데이트 해 드리겠습니다. –

+0

팁 주셔서 감사 합니다만, 저는 이미 phonegap이 webviewclient와 webchromeclient를 모두 구성했다고 생각합니다. 나는 더 자세히 살펴볼 것이다. 감사합니다 – kli

+1

좋아요, 제 제안을 아래에서보십시오.이 작업을 수행하는 데는 이상적인 방법이 아닌 것처럼 보이지만 실제로 안드로이드에서 아무것도 할 수없는 일은 거의 불가능합니다. –

답변

1

좋아, 몇 가지 옵션이 있습니다. 다음을 사용하여 완전히 키보드를 사용하지 않도록 시도 할 수 있습니다 :이 방법을 선택하면

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

    • , 즉 자동으로 수행되어 있지 않은 경우 정상으로 설정을 반환해야합니다. 나는 이것을 이전에 사용하지 않았으며 어떻게 행동 하는지를 말할 수 없었지만 그것을 명심하십시오. 당신은 사용자가 그들의 키보드를 비활성화하는 앱이 :)를 사용하는 동안 그들이받는 텍스트에 회신하지 않으려는


  • 당신은 비슷한을 사용할 수 있습니다 다음 링크. 나는 그것을 철저히 파헤 치지 않았지만 (tl; dr), 그는 android.inputmethodservice.KeyboardView에서 확장 한 커스텀 뷰를 생성하고 그 대신에 사용한다.

  • https://stackoverflow.com/a/1947370/1183256
  • 관련 문제