0

Обычно, когда отображается Snackbar, плавающая кнопка действия сдвигается вверх, а затем переходит в нормальное положение, когда скрывается Snackbar. Я тестировал свое приложение во всех версиях Android до 6.0.1, и все работает так, как ожидалось.FAB переходит под клавиатуру после того, как Snackbar отображается в android 6.0.1

К сожалению, на android 6.0.1, после того, как Snackbar уходит, плавающая кнопка действия идет наполовину под мягкую клавиатуру.

enter image description here

В соответствии с Android руководящих принципов я имею CoordinatorLayout в качестве родительского макета. И я также попробовал: android:windowSoftInputMode="adjustResize" в файле манифеста.

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:id="@+id/myCoordinatorLayout" 
    tools:context="com.example.myapp.MainActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    </android.support.design.widget.AppBarLayout> 

    <include layout="@layout/content_main"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@mipmap/ic_add_white_24dp" /> 

</android.support.design.widget.CoordinatorLayout> 

Это какая-то ошибка? или есть ли способ обработать это программно?

ОБНОВЛЕНИЕ: Я обнаружил, что, когда я сажусь, чтобы вручную закрыть Закусочную, FAB возвращается в нормальное положение. Но если я разрешу закусочную, пока она не скрывает/увольняет сама по себе, это создаст проблему.

Используя этот подход, предложенный @Muhammad Faisal Hyder: Make FAB respond to Soft Keyboard show/hide changes я получаю следующий результат:

enter image description here

Все предложения высоко ценится. Благодарю.

+0

Можете ли вы разместить XML-код? –

+0

Конечно, я опубликую. – Darush

ответ

2

Я дал ответ на этот вопрос, заданный другим человеком, вы можете попробовать сообщение this, да есть способ программирования для его обработки, нам нужно расширить CoordinatorLayout.Behavior<FloatingActionButton> и переопределить методы для достижения правильного поведения FAB при прокрутке (до скрыть и показать), а также на снек-бар или клавиатуру, поэтому Fab также движется соответственно.

После EDIT:

Над ссылочного ответ работает для меня, ну вы можете попробовать это также.

добавить: android:fitsSystemWindows="true" в <android.support.design.widget.CoordinatorLayout/>

Если выше не работает, до сих пор, то,

добавить: android:windowSoftInputMode="adjustResize" к вашей деятельности в Manifest.xml

Надеются, что это поможет вам ,

+0

Хорошо, спасибо за ответ. Я напишу свои отзывы, как только я попробую ваш подход. – Darush

+0

после добавления ScrollingFABAnimation как мой FAB layout_behavour У меня странное поведение. FAB поднимается примерно на половину размера экрана над мягкой клавиатурой. – Darush

+0

Вы использовали те же свойства XML? –

Смежные вопросы