Ответ 1
Оказывается, это довольно легко,
- Добавьте
android:windowSoftInputMode="adjustResize"
в свою активность в манифесте - Убедитесь, что ваш корневой вид в макете xml имеет свойство
android:fitsSystemWindows="true"
Уже спросил здесь, но без надлежащего ответа.
Я хочу, чтобы FAB плавал поверх клавиатуры. что он.
Например
Blank Activity
с Android StudioTextView
на EditText
Оказывается, это довольно легко,
android:windowSoftInputMode="adjustResize"
в свою активность в манифестеandroid:fitsSystemWindows="true"
Если вы используете конкретный фрагмент, вы можете использовать этот код, а для активности просто измените соответствующим образом.
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
view.getWindowVisibleDisplayFrame(r);
if (v.getRootView().getHeight() - (r.bottom - r.top) > 500) {
//Log.d("keyboardStatus","opened");
fab.setVisibility(View.GONE);
} else {
// Log.d("keyboardStatus","closed");
fab.setVisibility(View.VISIBLE);
}
}
});