상세 컨텐츠

본문 제목

[안드로이드 코틀린] 소프트 키보드(Soft Keyboard) 보여주는 방법, 숨기는 방법

안드로이드

by aries574 2022. 8. 17. 17:32

본문


이번 시간에는 EditText를 이용해서 소프트 키보드를 보이거나 숨기는 방법에 대하여 알아보겠습니다.


목차

1. 실행 화면
2. 메인 화면 activity_main.xml
3. 메인 코드 MainActivity.kt


1. 실행 화면

 


2. 메인 화면 activity_main.xml

 - 설명 - 

1. 키보드를 숨기거나 호출하는 EditText

2. android:inputType="text"

  입력 타입 문자로 설정

3. android:imeOptions="actionDone"

  키보드 작업 버튼 지정

4. 참조 사이트

https://developer.android.com/training/keyboard-input/style?hl=ko 

 

입력 방법 유형 지정  |  Android 개발자  |  Android Developers

입력 방법 유형 지정 모든 텍스트 필드에는 이메일 주소, 전화번호 또는 일반 텍스트와 같은 특정 유형의 텍스트를 입력해야 합니다. 따라서 시스템에서 적절한 소프트 입력 방법(예: 터치 키보

developer.android.com

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">


    <EditText
        android:id="@+id/keyboard_edit"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:imeOptions="actionDone"
        android:inputType="text"
        android:textSize="30sp"/>

</LinearLayout>

 


3. 메인 코드 MainActivity.kt

- 설명 -

1. keyBoardEdit.setOnEditorActionListener 

 EditText 에디트 액션 이벤트

2. actionId == EditorInfo.IME_ACTION_DONE

 액션 버튼 체크

3. manager.hideSoftInputFromWindow

 키보드 숨김 함수(반환된 요청을 수행하는 창의 토큰, 추가 동작 플래그)

4. manager.showSoftInput

 키보드 보여주기 함수(입력받을 뷰, 동작 플래그)

5. 참조 사이트

https://developer.android.com/reference/android/view/inputmethod/InputMethodManager#hideSoftInputFromWindow(android.os.IBinder,%20int) 

 

InputMethodManager  |  Android Developers

android.net.wifi.hotspot2.omadm

developer.android.com

class MainActivity : AppCompatActivity(){

    private lateinit var keyBoardEdit: EditText

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //객체 생성
        keyBoardEdit = findViewById(R.id.keyboard_edit)

        //입력모드
        window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)

        //키보드 열기
        showKeyboard(keyBoardEdit)

        keyBoardEdit.setOnEditorActionListener { textView, actionId, keyEvent ->


            val text = keyBoardEdit.text.toString()

            if(actionId == EditorInfo.IME_ACTION_DONE){

                //키보드 숨김
                hideKeyboard(keyBoardEdit)

                //입력한 메시지 보여줌
                Toast.makeText(applicationContext, text, Toast.LENGTH_SHORT).show()

                true
            }

            false
        }

    }//onCreate

    //키보드 숨기기
    private fun hideKeyboard(editText: EditText){

        val manager: InputMethodManager =
            getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

        //키보드 숨김
        manager.hideSoftInputFromWindow(keyBoardEdit.applicationWindowToken, 0)
    }

    //키보드 보여주기
    private fun showKeyboard(editText: EditText){

        val manager: InputMethodManager =
            getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager

        //키보드 보여주기
        manager.showSoftInput(keyBoardEdit.rootView, InputMethodManager.SHOW_IMPLICIT)

        //포커스 지정
        keyBoardEdit.requestFocus()
    }
}

 

 

 

 

2022.08.16 - [안드로이드] - [안드로이드 코틀린] 클립보드(Clipboard) 텍스트 복사(Copy)&붙여 넣기(paste) 하는 방법

 

[안드로이드 코틀린] 클립보드(Clipboard) 텍스트 복사(Copy)&붙여 넣기(paste) 하는 방법

이번 시간에는 텍스트를 길게 누르면 복사해서 붙여 넣기를 할 수 있는 클립보드 기능을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실행 화면 2. 메

aries574.tistory.com

 

2022.07.27 - [안드로이드] - [안드로이드 코틀린] DatePicker 달력 만드는 방법

 

[안드로이드 코틀린] DatePicker 달력 만드는 방법

이번 시간에는 DatePicker를 이용해서 달력 만드는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 구현 activity_main.xml 3. 메인 코드 구현 MainActivity.kt 1. 실행 화면 2. 메인 화면 구현 ac

aries574.tistory.com

 

2022.07.30 - [안드로이드] - [안드로이드 코틀린] TimePicker 내가 선택한 알람 시간 텍스트뷰에 보여주는 방법

 

[안드로이드 코틀린] TimePicker 내가 선택한 알람 시간 텍스트뷰에 보여주는 방법

이번 시간에는 TimePicker를 이용해서 시간을 선택하고 TextView에 보여주는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity 1. 실행 화면 2. 메인

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역