Подтвердить что ты не робот

Установите FAB (плавающая кнопка действия) над клавиатурой

Уже спросил здесь, но без надлежащего ответа.

Я хочу, чтобы FAB плавал поверх клавиатуры. что он.

Например

  • Откройте новый проект шаблона Blank Activity с Android Studio
  • Измените Hello World TextView на EditText
  • Смотрите изображение ниже:

введите описание изображения здесь

4b9b3361

Ответ 1

Оказывается, это довольно легко,

  • Добавьте android:windowSoftInputMode="adjustResize" в свою активность в манифесте
  • Убедитесь, что ваш корневой вид в макете xml имеет свойство android:fitsSystemWindows="true"

Ответ 2

Если вы используете конкретный фрагмент, вы можете использовать этот код, а для активности просто измените соответствующим образом.

    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);
            }
        }
    });