Virtual Keyboard가 항상 표시되는 상황이라 귀찮아서 숨기려 하여 찾아봄.
일단 인터넷에서 소개되는 방법은..
InputMethodManager를 사용하여 virtual keyboard를 숨기는 방법
http://stackoverflow.com/a/1109108
You can force Android to hide the virtual keyboard using the InputMethodManager, calling
hideSoftInputFromWindow
, passing in the token of the window containing your focused view.// Check if no view has focus:
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
This will force the keyboard to be hidden in all situations. In some cases you will want to pass in
InputMethodManager.HIDE_IMPLICIT_ONLY
as the second parameter to ensure you only hide the keyboard when the user didn't explicitly force it to appear (by holding down menu).여기가 좀 더 설명이 자세하다.
https://realm.io/kr/news/tmi-dismissing-keyboard-ios-android/
하지만 난 Activity내의 fragment 중 EditText로 인한 virtual keyboard를
App 시작 시점부터 띄위지 않도록 하기 위한 방법을 찾던지라
위 방법은 내가 원한 상황에서 적용되기는 어려웠음.
결국 찾아낸 방법은 다음과 같다.
EditText가 아닌 다른 item에 focus를 주어 Virtual Keyboard를 띄우지 않는 방법
http://stackoverflow.com/a/1662088
1419
|
Excellent answers from Luc and Mark however a good code sample is missing:
|
좀 예제가 일반적이지는 않아 나의 경우를 말하면
EditText의 다른 item에 android:focusable="true", android:focusableInTouchMode="true"를 주어
EditText에 focus가 가지 않도록 하여 virtual keyboard를 자동으로 띄우지 않도록 하였음.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"> ......... <EditText
android:id="@+id/insert_entry_title"
android:layout_width="fill_parent"
android:layout_height="32dp"
댓글 없음:
댓글 쓰기