13

Vorrei achive il seguente schema:trasparente AppBarLayout e CollapsingToolbarLayout

  1. Map come un layout di base
  2. finestra trasparente sopra all'interno di un CollapsingToolbarLayout
  3. RecyclerView per i contenuti

Ho incluso un esempio di come dovrebbe essere questo.

enter image description here

stavo seguendo questo grande esempio da Cheesesquare per l'attuazione CollapsingToolbarLayout e AppBarLayout. Sono riuscito a far funzionare il contenuto con la mappa all'interno di CollapsingToolbarLayout (commentato nel layout xml), ma questo non è il risultato desiderato.

Tuttavia non ho trovato alcuna soluzione/documentazione per rendere trasparente la casella grigia (vedere l'immagine interna al centro) nella posizione iniziale. Mi piacerebbe che fosse trasparente per vedere attraverso la mappa. Quando l'utente si sposta verso l'alto, il CollapsingToolbarLaoyut dovrebbe fare il suo lavoro e comprimere la finestra trasparente e mostrare la barra degli strumenti. Per ora l'immagine sembra bianca o di qualsiasi colore io la doni. Ho già provato a impostare il colore su trasparente, ma non ha avuto l'effetto desiderato.

Quindi la mia domanda: Come potrei impostare il "CollapsingToolbarLayout" trasparente nella fase iniziale (vedi immagine Strato 1 casella grigia)?

Ecco il mio codice per il layout. Il CollapsingToolbarLayout funziona alla grande, ma non riesco a vedere la mappa qui sotto. Sarebbe bello se fosse possibile implementarlo.

<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:fitsSystemWindows="true"> 


    <!-- Layer 0 --> 
    <FrameLayout 
     android:id="@+id/overlayFragmentMap" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:elevation="0dip" 
     /> 


    <!-- Layer 1 --> 
    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="192dp" 
     android:fitsSystemWindows="true" 
     android:theme="@style/CustomActionBar"> 
     <!--android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar--> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorAccent" 
      app:expandedTitleMarginBottom="32dp" 
      app:expandedTitleMarginEnd="64dp" 
      app:expandedTitleMarginStart="48dp" 
      app:expandedTitleTextAppearance="@color/black" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 


      <!-- Map view inside here works perfectly but is not 
      the deisired result --> 
      <!-- 
      <FrameLayout 
       android:id="@+id/overlayFragmentMap" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:elevation="0dip" 
       app:layout_collapseMode="parallax" 
       /> 
      --> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="@drawable/transparent" 
       android:elevation="4dip" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

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




    <!-- Fragment with recyclerview inside --> 
    <FrameLayout 
     android:id="@+id/overlayFragmentContent" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:elevation="3dip" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dip" 
     android:clickable="true" 
     app:layout_anchor="@+id/appbar" 
     app:layout_anchorGravity="bottom|right|end" /> 

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

Quale sarà il contenuto di quella finestra trasparente? o è solo una finestra trasparente? – Mohsen

+1

Dovrebbe essere solo una vista trasparente. Mi piacerebbe vedere attraverso la mappa sul livello di base. – Devdroid

risposta

26

Come ho potuto impostare "CollapsingToolbarLayout" trasparente nella fase iniziale (vedi dell'immagine dei livelli box 1 grigia)?

cercano di usare questo nella vostra AppBarLayout:android:background="@android:color/transparent"

<android.support.design.widget.AppBarLayout 
      android:id="@+id/appbar" 
      android:layout_width="match_parent" 
      android:layout_height="192dp" 
      android:background="@android:color/transparent" 
      android:fitsSystemWindows="true"> 

Ecco il risultato:

enter image description here

Speranza che aiuta.

+0

Funziona perfettamente ora, grazie per la risposta :-) – Devdroid

+0

Yw, felice di aver sentito che.Goodluck – Mohsen