키보드를 최소화하자마자 커서를 숨기고 다른 작업을하고 싶습니다. editext를 터치 할 때 이미 커서를 활성화하고 키보드를 표시하지만 '완료'를 누르지 않고 사용자가 최소화 한 경우를 알 수있는 방법을 찾을 수 없습니다.키보드가 최소화 된시기를 아는 방법?
할 방법이 있습니까? 코드 아래
키보드를 최소화하자마자 커서를 숨기고 다른 작업을하고 싶습니다. editext를 터치 할 때 이미 커서를 활성화하고 키보드를 표시하지만 '완료'를 누르지 않고 사용자가 최소화 한 경우를 알 수있는 방법을 찾을 수 없습니다.키보드가 최소화 된시기를 아는 방법?
할 방법이 있습니까? 코드 아래
시도 : -
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
activityRootView.getWindowVisibleDisplayFrame(r);
int heightDiff = activityRootView.getRootView()
.getHeight() - (r.bottom - r.top);
if (lastDiff == heightDiff)
return;
lastDiff = heightDiff;
Log.i("aerfin","arefin "+lastDiff);
if (heightDiff > 100) { // if more than 100 pixels, its
// probably a keyboard...
flag2 = 0;
} else {
if (flag == false)
flag2 = 1;
}
}
});
이
대한 추가 정보는 아래 링크를 참조 적어도 나를 위해 전체 사용 -
Maintain keyboard open/closed state for EditText when app comes to foreground
매니페스트에서InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
//to show soft keyboard
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
//to hide it, call the method again
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
그가 물었던 것이 아닙니다. 코드가 키보드를 표시하거나 숨기거나 사용자가 키보드를 수동으로 표시하거나 숨길 때 콜백을 원합니다. –
좋아 .... 이제 알았어 ... Thnx Brother –
만들 키보드가 퍼팅으로 표시되거나 숨겨지면 구성이 변경되는지 확인하십시오. g 매니페스트에 <activity>
태그의 인수로이 라인 :
android:configChanges="orientation|keyboardHidden"
이 그런 다음 Activity
에서이 메소드를 오버라이드 (override).
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks whether a hardware keyboard is available
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
Toast.makeText(this, "keyboard visible", Toast.LENGTH_SHORT).show();
} else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES) {
Toast.makeText(this, "keyboard hidden", Toast.LENGTH_SHORT).show();
}
}
이것은 softKeyboard에 대해 호출되지 않는 것 같습니다 :( – yedidyak
고마워! 나는 두 번째 링크의 이후 답변 중 하나에서 가져온 이와 비슷한 버전을 사용하여 끝냈습니다. 설정이 필요한 EditText가 레이아웃 구조 깊숙이 묻혀 있으므로 사다리로 이벤트를 전달해야하지만 작동 할 것입니다. – yedidyak