태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Landscape 모드에서 EditText 입력시 전체화면으로 뜨지 않게 하려면?

2011.04.20 14:35

애플리케이션 개발을 하다보면, 주로 Portrait 모드를 기반으로 UI를 고려하는 경우가 많습니다. 
대부분의 경우는 이 상태에서 Landscape 모드로 전환해도 별 탈 없이 돌아가지만, 일부 경우는 사소한 문제가 발생합니다.

그 중에서도 사용자 입장에서 가장 큰 불편을 주는 것이 바로 EditText가 아닐까 싶습니다.
하드웨어 키보드가 없는 단말에서는 EditText를 누르면 자동으로 소프트키보드가 표시되는데, Landscape 모드에서 텍스트를 입력하기 위해 EditTexf를 누르면 다음과 같이 입력 화면이 전체 화면으로 표시되는 경우가 대다수입니다.

 



그냥 잠깐 텍스트를 입력하고 다음 화면으로 넘어가는 것이라면 별 문제가 없겠지만, 채팅과 같이 끊임없이 다른 내용을 확인해야 하는 상황이라면 참 곤란한 상황이지요. 그렇다면, Landscape 모드에서 전체 화면으로 입력 창이 뜨지 않고, Portrait 모드와 같이 표시되도록 하는 방법은 무엇일까요?


답은 매우 간단합니다. EditText의 android:imeOptions 속성에 flagNoExtractUi 를 넣어주면 됩니다.
<EditText
	android:layout_height="wrap_content"
	android:layout_width="match_parent"
	android:imeOptions="flagNoExtractUi"
></EditText>

위와 같이 처리해주면 Landscape 모드에서 입력 창이 전체 화면으로 뜨는 것을 방지할 수 있습니다. 아래 화면은 EditText의 속성에 flatNoExtractUi 를 적용한 모습입니다.



 
저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

커니 안드로이드 개발 팁/UI , , , , , , , , , ,

  1. Blog Icon
    박현민

    오타라기보다는.. 쨋든 flagNoExtractUi 여기서 i가 빨간색이 안되어있네요..ㅋ

  2. 수정했습니다 :)

  3. Blog Icon
    안드로이드긱

    항상 많은 도움받고 있습니다....소중한 경험과 지식을 공유해주셔서 감사합니다..

  4. Blog Icon
    깐다삐아

    감사합니다. 잘 보고 갑니다.

  5. Blog Icon
    언렬포

    오홋~ 감사합니다.

  6. 막힌 것 뻥 뚫어주셔서 기쁩니다.
    링크로 제 블로그에 올려도 되겠지요?
    감사합니다.