4

J'essaie d'implémenter une feuille de fond persistante dans ma mise en page - une qui ne peut pas être complètement cachée, mais toujours jette un coup d'oeil du fond et peut être étendue à pleine hauteur. Ceci est ma mise en page:Android visibilité initiale de la feuille de fond persistante

<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="vertical"> 

     <!-- main content --> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/layoutBottomSheet" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center|bottom" 
     android:background="@drawable/custom_background" 
     android:clipToPadding="false" 
     android:gravity="center_horizontal" 
     android:orientation="vertical" 
     app:behavior_hideable="false" 
     app:behavior_peekHeight="50dp" 
     app:layout_behavior="@string/bottom_sheet_behavior"> 

     <!-- bottom sheet content --> 

    </LinearLayout> 

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

Ce que je pense arriver est la feuille inférieure soit visible et effondré dès que je tombe sur l'écran, mais ce n'est pas - il est caché. Je peux l'obtenir pour apparaître en appelant bottomSheetBehaviour.setState(BottomSheetBehavior.STATE_EXPANDED) en onCreate(). Ceci, curieusement, ne l'agrandit que légèrement - plus que la hauteur de peek spécifiée, mais moins que la hauteur totale qu'il devrait prendre. Après qu'il apparaît dans cet état, je peux le faire glisser de haut en bas là où il devrait être et cela fonctionne bien. Le problème est l'atterrissage initial sur l'écran est foiré.

Je suis sûr qu'il y a un moyen de faire en sorte que la feuille de fond apparaisse à sa hauteur. Des idées?

Répondre

0

Comme cela arrive souvent - vous trouvez la réponse après avoir posé la question. Mon problème était le android:layout_gravity="center|bottom" réglé sur la vue de la feuille du bas. Enlever cela l'a réparé.