나는 소리를 아주 간단하게하려고합니다. SoftKeyboard
이 열려있을 때 내 GridView
크기를 조정하십시오. SoftKeyboard
이 사라지면 속한 곳에 다시 놓습니다 (높이 크기 조정). 이를 위해SoftKeyboard가 보이면 OnGlobalLayoutListener가 항상 켜집니다.
내가 다음 않았다
root.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// TODO Auto-generated method stub
if(gv != null && searchbar != null) {
root.getWindowVisibleDisplayFrame(r);
if(screenHeight > r.bottom) {
RelativeLayout.LayoutParams myLayoutParams = (android.widget.RelativeLayout.LayoutParams) gv.getLayoutParams();
myLayoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
gv.setLayoutParams(myLayoutParams);
int gvHeight = screenHeight - r.bottom - searchbar.getLayoutParams().height;
gv.getLayoutParams().height = gvHeight;
}else {
RelativeLayout.LayoutParams myLayoutParams = (android.widget.RelativeLayout.LayoutParams) gv.getLayoutParams();
myLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
gv.setLayoutParams(myLayoutParams);
}
}
}
});
gv
내 GridView
입니다. 내 앱을 시작하고 내 검색 창을 클릭하면 softkeyboard
이 나타나고이 방법은 항상 실행됩니다 (레이아웃이 변경되지 않거나 아무 것도 클릭하지 않더라도). 따라서 내 UI가 차단됩니다. 내가 뭐 잘못 했어요?
또한이 기능을 구현하는 데 더 좋은 아이디어를 가지고있는 사람이 있습니까 (소프트 키 보드가 나타날 때 그리드 크기 조정 및 그 반대로).
도움을 주시면 감사하겠습니다. onFocusChange
작업
공지 사항
나에게 좋지 않은 소리. 내 장치 때문이야. SoftKeyboard
을 backPress
으로 닫을 수 있습니다. Focus