0

Hei Guys,navigation bas avec la barre d'outils de mise en page en scrollable coordinateur

J'essaie d'obtenir le scroll_behaviour bien fait pour ma mise en page. Mon problème est que si j'emballe la navigation du bas dans une mise en page relative et place mon contenu principal au-dessus, la navigation du bas défile hors de l'écran lorsque la barre d'outils se cache. Si je mets la navigation du bas comme un autre enfant direct de ma mise en page de coordinateur, alors le contenu principal est derrière mon BottomNavigation. Je ne veux pas le résoudre en ajoutant un remplissage/marge au bas de ma navigation principale. Avez-vous des conseils ou des idées?

Une autre chose est que l'effet d'entraînement de ma navigation de fond est seulement visible sur le dessus de la navigation du bas et pas au-dessus de mon contenu principal. L'ajout d'un comportement de défilement à la navigation du bas n'a pas fonctionné non plus. Je veux essayer une navigation à fond fixe, ou ajouter une animation de défilement tout en faisant défiler comme indiqué dans les directives de conception de matériel google.

Voici une capture d'écran:

App Screenshot

Voici le code de mise en page:

<android.support.design.widget.CoordinatorLayout 
android:id="@+id/main_content" 
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.support.design.widget.AppBarLayout 
    android:id="@+id/appBar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:elevation="0dp" 
    > 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:layout_scrollFlags="scroll|enterAlways" 
     > 

    </android.support.v7.widget.Toolbar> 


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

<RelativeLayout 
    android:id="@+id/rl" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    > 
    <com.getproperly.properlyv2.classes.misc.CustomViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     /> 

</RelativeLayout> 

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/bottom_navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:layout_anchorGravity="bottom" 
    app:layout_anchor="@id/rl" 
    app:menu="@menu/bottom_navigation_main" 
    /> 

<com.getproperly.properlyv2.classes.misc.SelfAwareFloatingActionButton 
    android:id="@+id/fab_add" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_add_white" 
    app:fabSize="normal" 
    app:layout_anchor="@id/rl" 
    app:layout_anchorGravity="bottom|right|end" 
    app:layout_behavior="com.getproperly.properlyv2.classes.misc.ScrollAwareFABBehavior" 
    android:layout_marginEnd="@dimen/fab_margin" 
    android:layout_marginLeft="@dimen/fab_margin" 
    android:layout_marginRight="@dimen/fab_margin" 
    android:layout_marginStart="@dimen/fab_margin" 
    android:layout_marginTop="@dimen/fab_margin" 
    android:layout_marginBottom="64dp"/> 

apprécierais toute aide! Merci

Répondre

2

Vous pouvez envelopper la disposition du coordinateur dans la disposition relative et sortir la navigation du bas dans cette disposition relative parallèlement à la disposition du coordinateur.

<RelativeLayout> 

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

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

</RelativeLayout> 
+0

Merci Umar. Est-ce une bonne pratique de mettre un coordonnateur dans une autre perspective? J'ai cependant lu quelque part que la mise en page du coordinateur devrait être la mise en page parente. – Patric

+0

Tout conteneur de disposition peut être parent et dans votre cas particulier, la navigation du bas n'est pas conçue avec la disposition du coordinateur, vous ne pouvez donc pas placer la navigation du bas directement dans la disposition du coordinateur pour fonctionner correctement. –

+0

une autre chose que vous pouvez faire est de placer la navigation du bas à l'intérieur de la disposition relative au sein de votre coordinatorLayout, mais je ne sais pas si elle va désactiver le défilement ou non pour le nav bas. –