상세 컨텐츠

본문 제목

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

안드로이드

by aries574 2022. 1. 21. 07:56

본문


이번 시간에는 자동으로 소프트 키보드를 

보여주거나 숨기는 방법에 대하여 

알아보겠습니다.


목차

1. 실행 화면

2. 메인 화면 구성 activity_main.xml

3. 메인 코드 구현 MainActivity.java


1. 실행 화면

 

 

 

2. 메인 화면 구성 activity_main.xml

  imeOptions: 옵션을 정해준다.

  inputType: 입력타입을 정해준다.

  maxLines: 최대 줄의 길이를 정혀준다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="글씨 입력"
        android:imeOptions="actionDone"
        android:inputType="text"
        android:maxLines="1" />

</RelativeLayout>

 

 

3. 메인 코드 구현 MainActivity.java

public class MainActivity extends AppCompatActivity  {

    EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = findViewById(R.id.edit_text);

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

        //키보드 열기
        showKeyboard(editText);

        //액션 이벤트
        editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {

                String s = editText.getText().toString().trim();

                if(actionId == EditorInfo.IME_ACTION_DONE){

                    //키보드 숨김
                    hideKeyboard(editText);

                    //입력한 메시지 보여줌
                    Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();

                    return true;
                }

                return false;
            }
        });
    }

    /**
     * 키보드 숨기는 이벤트
     * @param editText 입력뷰
     */
    private void hideKeyboard(EditText editText) {

        InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

        //키보드 숨김
        manager.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0);
    }

    /**
     * 키보드 보여주는 이벤트
     * @param editText 입력뷰
     */
    private void showKeyboard(EditText editText) {

        InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

        //키보드 호출
        manager.showSoftInput(editText.getRootView(), InputMethodManager.SHOW_IMPLICIT);

        //포커스 지정
        editText.requestFocus();
    }


} //MainActivity

 

2022.01.17 - [안드로이드] - [안드로이드] StackView 이미지(Image) 정렬하는 방법

 

[안드로이드] StackView 이미지(Image) 정렬하는 방법

이번 시간에는 StackView를 통해서 이미지 정렬하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 아이템 화면 만들기 item.xml 3. 아이템 어뎁터 만들기 ItemAdapter.java 4. 메인 화면 구성 activit

aries574.tistory.com

2022.01.18 - [안드로이드] - [안드로이드] StackView 버튼(Button)으로 이미지(Image) 변경하는 방법

 

[안드로이드] StackView 버튼(Button)으로 이미지(Image) 변경하는 방법

이번 시간에는 StackView로 정렬된 이미지를 버튼을 통해서 이미지 변경하는 방법을 알아보겠습니다. 이전 시간에 했던 예제를 이어서 하니 먼저 보시고 오시면 됩니다. 2022.01.17 - [안드로이드] - [

aries574.tistory.com

2022.01.19 - [안드로이드] - [안드로이드] 내가 원하는 글씨체 폰트(Font) 적용하는 방법

 

[안드로이드] 내가 원하는 글씨체 폰트(Font) 적용하는 방법

이번 시간에는 안드로이드 스튜디오에 있는 기본 글씨체가 아닌 사용자가 원하는 폰트를 적용하는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 폰트 폴더 생성 3. 폰트 추가 4. 메

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역