그래서 내가 만든 사용자 정의 툴바 바로 아래에 EditText가 있습니다. 그리고 edittext 아래에 listview가 있습니다. 그러나 소프트 키보드가 나타나면 키보드로 차단 된 사용자는 목록을 볼 수 없습니다. 소프트 키보드가 나타나면 EditText를 화면 상단으로 이동하여 툴바를 화면 밖으로 밀어내는 방법 NoActionBar 테마를 사용하고 있습니다. 도움이 될 것입니다.안드로이드 - 소프트 키보드가 나타날 때 액션 바를 밀어 넣으십시오.
편집 : 나는 이미 Manifests.xml
감사에서
android:windowSoftInputMode="adjustPan"
을 시도!
편집 : 이 코드를 사용하면 키보드가 나타나면 툴바를 숨길 수 있습니다.
numbersActivityRoot = (CoordinatorLayout) findViewById(R.id.numbers_activity_root_view);
appBarLayout = (AppBarLayout) findViewById(R.id.appbarLayout);
numbersActivityRoot.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
//r will be populated with the coordinates of your view that area still visible.
numbersActivityRoot.getWindowVisibleDisplayFrame(r);
int heightDiff = numbersActivityRoot.getRootView().getHeight() - (r.bottom - r.top);
if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
Log.v("NUMBERS","Hide toolbar");
appBarLayout.setExpanded(false);
} else {
Log.v("NUMBERS","Show toolbar");
appBarLayout.setExpanded(true);
}
}
});
로그 메시지는 키보드를 감지 정확한 결과를 보여주는 동안,하지만 도구 모음은 여전히 숨어되지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
android를 사용해 보셨습니까? windowSoftInputMode = "adjustPan"? –
예. 있습니다. 효과가 없습니다. – Asym
보기 계층 구조를 첨부하십시오. –