이번 시간에는 자동으로 소프트 키보드를
보여주거나 숨기는 방법에 대하여
알아보겠습니다.
1. 실행 화면
2. 메인 화면 구성 activity_main.xml
3. 메인 코드 구현 MainActivity.java
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>
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) 정렬하는 방법
2022.01.18 - [안드로이드] - [안드로이드] StackView 버튼(Button)으로 이미지(Image) 변경하는 방법
2022.01.19 - [안드로이드] - [안드로이드] 내가 원하는 글씨체 폰트(Font) 적용하는 방법
[안드로이드] 색상조절막대 ColorSeekBar 쉽게 만드는 방법 (0) | 2022.01.23 |
---|---|
[안드로이드] 스피너(Spinner) 검색(Search)하는 기능 넣는 방법 (0) | 2022.01.22 |
[안드로이드] 내가 원하는 위치에 도움말(ToolTip) 보여주는 방법 (0) | 2022.01.20 |
[안드로이드] 내가 원하는 글씨체 폰트(Font) 적용하는 방법 (0) | 2022.01.19 |
[안드로이드] StackView 버튼(Button)으로 이미지(Image) 변경하는 방법 (0) | 2022.01.18 |
댓글 영역