Ho un'attività con 3 schede. Ogni pagina di schede è un frammento che visualizza un RecyclerView. Uno dei frammenti contiene FloatingActionButton. Sto implementando questo pulsante nel layout di Fragment. Lo sto facendo anche statico in basso a destra del frammento.Mostra/Nascondi FloatingActionButton su swap ViewPager
disposizione Frammento:
- CoordinatorLayout
- RecyclerView
- FAB (without any behavior)
Nel layout di attività, ho:
- CoordinatorLayout
- AppBarLayout
- Toolbar
- TabLayout (SmartTabLayout)
- ViewPager
Il problema ora è la FAB è seminascosta dalla vista quando Toolbar è espansa, ma pienamente dimostrato quando La barra degli strumenti è compressa. Anche se ciò non accade se implemento il pulsante FAB nell'attività stessa. Ma non voglio avere il pulsante in tutti i frammenti. Lo sto solo mettendo nel primo frammento.
Ecco una gif che ho fatto per spiegare questo più chiaro.
XML per il layout di attività:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/color_primary"
app:layout_scrollFlags="scroll|enterAlways" />
<com.ogaclejapan.smarttablayout.SmartTabLayout
android:id="@+id/viewpagertab"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_height"
android:background="@color/color_primary" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
XML per il layout Fragment:
<?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"
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.RecyclerView
android:id="@+id/card_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_plus_white_48dp"
app:layout_anchor="@id/card_list"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
mia domanda è come faccio a fare in modo che il pulsante rimane visibile quando recyclerview viene fatta scorrere ?
Penso che userò la tua soluzione in quanto fornisce più funzionalità. Grazie per il tuo suggerimento! – AimanB
@AimanB Un'altra cosa, assicurati di usare l'ultima versione della libreria di progettazione del supporto, hanno risolto molti problemi nelle ultime versioni, una delle animazioni predefinite mostrate con i metodi 'show()' e 'hide()'. –