제일 상위루트의 레이아웃뷰에 id를 붙입니다. (여기선 activityRoot)
그 후 그 뷰를 코드에서 불러내어 ViewTreeObserver의 OnGlobalLayoutListener를 붙입니다.
흠 100프로 정확한 방법은 아니지만 현재 방법이 이것밖엔 없네요
http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android
그 후 그 뷰를 코드에서 불러내어 ViewTreeObserver의 OnGlobalLayoutListener를 붙입니다.
흠 100프로 정확한 방법은 아니지만 현재 방법이 이것밖엔 없네요
final View activityRootView = findViewById(R.id.activityRoot); activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight(); if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard... ... do something here } } });참고:
http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android
댓글 없음:
댓글 쓰기