0

Android 앱에 비정상적인 문제가 있습니다. 웹 페이지에 입력 필드를 집중시킬 때마다 소프트 키보드가 나타나 즉시 사라집니다.Android 앱에서 사라지는 소프트 키보드

이전에 WebView를 사용할 때 이런 일이 발생했다고 말하고 싶지만이 앱은 브라우저 기능을 위해 Crosswalk를 통합합니다.

Disappearing soft keyboard

밀어 또는 소프트 키보드를 수용하기 위해 HTML의 크기를 조정하지만, 어떤 이유로 실패 것 같습니다 :

문제의 화면 녹화입니다.

왜 이런 일이 발생했는지 그리고 더 중요한 것은 그것을 고치는 법을 아는 사람이 있습니까?


편집 : 내의 AndroidManifest.xml 파일에 windowSoftInputMode = "adjustPan", 문제가 발생하지 않습니다 : 나는 안드로이드를 추가하는 경우 것으로 나타났습니다. "adjustResize"로 설정하면이 항상 발생합니다. 사람이 대답 :

답변

0

이에 대한 솔루션은 안드로이드 특질 (이 중 많은이 있습니다)에 대한 해결 방법입니다 알고 있다면

여전히 도움이 싶어요. 내가 읽은 것부터 iOS에서는 발생하지 않지만 확인을 위해 테스트하지는 않았습니다.

문제는 소프트 키보드가 나타나면 창 크기를 조정하는 것입니다. 나는 반응 형 웹 사이트로 작업 할 때 크기 조정을 처리하는 코드를 가지고있을 가능성이 높습니다. 키보드가 나타나면 사용자 지정 크기 조정 코드로 인해 창 크기가 변경되고 키보드가 사라집니다.


해결 방법 1 :

이 솔루션은 위해서 orientationchange 이벤트로 크기 조절 이벤트를 다시 작성하는 것입니다. 이상적인 상황은 아니지만 앱이 유일한 목표라면 괜찮을 것입니다.

은 (jQuery를 사용하여)에서, 변화를 명확히하기 위해 :

$(window).resize (function() 
{ 
    // Code on resize 
}); 

변경 (jQuery를 사용)에 :

$(window).bind ('orientationchange', function() 
{ 
    // Code on screen rotation 
}); 

내가 위해서 orientationchange에 대한 브라우저 지원의 확실하지 않다 그렇지 이후 http://caniuse.com에서 구할 수 있지만 현재의 Crosswalk 버전 (19.49.514.4)과 호환된다고 말할 수 있습니다.


해결 방법 2 :

https://stackoverflow.com/a/9229672/3509051에서 chrisdew에 의해 제안하는 다른 솔루션 가 ". 0.5 초에 대한 이벤트의 크기를 조정 반응하지 않도록 설정 입력의 포커스 이벤트 리스너를 추가"제안. 이것은 입력이 집중 될 때마다 0.5 초 지연이 발생해도 기꺼이 효과가 있어야합니다.

관련 문제