사용자가 영문자판으로 끝내어도 다시 열면 한글자판으로 열리게 하는 방법

조회수 4550회

질문 : 사용자가 영문자판으로 끝내어도 다시 열면 한글자판으로 열리게 하는 방법

아래와 같이 해두면, 사용자가 한글자판으로 끝내어도 다시 열 때 영문자판으로 열립니다. 참고 : http://www.androidpub.com/610520

        <EditText
            ...
            android:inputType="textVisiblePassword" />

그런데, 사용자가 영문자판으로 끝내어도 다시 열면 한글자판으로 열리게 하는 방법을 알 수 없어 질문합니다.

        <EditText
            android:privateImeOptions="defaultInputmode=korean;"
            ...
            android:background="@color/color2" />

레이아웃에 지정한 privateImeOptions는 앱 설치할 때 한 번만 적용되고, 이후 사용자가 영문자판을 선택한 상태로 앱을 끝내면 다시 시작할 때 영문자판으로 뜹니다.

그런데 레이아웃 inputType 속성에서 한글을 지정하는 방법은 찾아볼 수 없더군요.

목표 : 앱을 다시 시작할 때마다, 가능하다면 특정 페이지를 열 때마다 강제로 한글자판을 띄워주는 것이 목표입니다.

        MainActivity.et_search.setPrivateImeOptions("defaultInputmode=korea;");

이렇게 하면 된다고들 하지만 ... 안 통합니다.

        MainActivity.et_search.setPrivateImeOptions("defaultInputmode=korean;");

답답해서 위와 같이 해 보아도 마찬가지로 안됩니다.

또 위 코드를 onCreate 안으로 집어넣어서 앱을 다시 시작해 보아도 반영이 되지 않습니다.

            android:privateImeOptions="defaultInputmode=korean;"

=> android:privateImeOptions="defaultInputmode=korean;symbol=false"

위 두 코드의 차이도 모르겠고, 아무 차이를 느낄 수 없습니다.

사용자가 영문자판으로 끝내어도 다시 열면 한글자판으로 열리게 하는 방법을 알려 주시면 고맙겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

4 답변

  • 질문을 보고 호기심이 생겨서 테스트를 해봤는데, 키보드 앱마다 차이가 있네요.

    레이아웃 XML 상에서 android:privateImeOptions="defaultInputmode=korean" 이 옵션으로 개발용인 갤럭시3, 갤럭시노트3 즉 삼성 키보드앱으로는 제대로 한글자판으로 바로 열리는 반면에 제폰인 소니 엑스페리아 xz에서 기본 키보드는 적용이 되지 않네요.

    알키보드로 열었을 때는 한글자판이 바로 나오긴 합니다. 다른 설정법이 있는지는 모르겠으나 저 방법들로는 키보드 앱마다 차이가 있네요.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 참 위에 답변 주신 분 감사합니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 자답입니다.

    참고 : IME 관련 정리 http://gtko.tistory.com/208

    위 페이지 참고하여 아래 페이지에 정리해 올렸습니다.

    소프트 키보드 (1) 항상 한글자판 상태로 시작하기/[Android] http://blog.daum.net/andro_java/839

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 지금 다시 보니, 제가 찾아낸 방법을 써도 위엣분 말씀처럼 삼성폰(19,S3)에서는 잘 되지만 엘지폰(21,G2)에서는 영문자판으로 끝내고 다시 시작하면 영문자판이 나오는군요. 현재로서는 더 이상 방법이 없어 보입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)