3

Das Hauptproblem, das ich derzeit mit dem CollapsingToolbarLayout habe, ist, dass was auch immer ich versuche, das MinHeight-Attribut meiner Toolbar hat keine Wirkung.Einstellung von minHeight in CollapsingToolbarLayout hat keinen Effekt

Mein gewünschtes Ergebnis wäre dies: (Die CollapsingToolbarLayout mit einer gewissen erweiterten Höhe und einer gewissen kollabierten Höhe (im Beispiel 180dp), während des Titels entweder kollabiert oder bleibt auf der Oberseite)

enter image description here

Aber was auch immer ich mache, der Titel ist manchmal in der Mitte, wird nicht komplett zusammenbrechen oder die minHeight wird sowieso ignoriert. Ich habe versucht, die minHeight für AppBarLayout, CollapsingToolbarLayout, die Symbolleiste selbst, jeden Inhalt, etc. auch mit verschiedenen Ansätzen im Internet, aber ohne Glück zu setzen. Hier

ist die grundlegende xml:

<android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:minHeight="180dp"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      app:contentScrim="@android:color/transparent" 
      app:expandedTitleGravity="bottom" 
      app:expandedTitleTextAppearance="@style/TextAppearence.App.ToolbarTitle" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed" 
      app:statusBarScrim="@android:color/transparent"> 

      <com.xxxxxx.custom.Banner 
       android:id="@+id/parallax_image" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:adjustViewBounds="true" 
       android:fitsSystemWindows="true" 
       android:scaleType="centerCrop" 
       android:src="@drawable/xxxxxxxx" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.6" 
       app:layout_scrollFlags="scroll" /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:minHeight="180dp" 
       app:layout_collapseMode="pin" /> 

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

Ich hoffe, dass dies genug Inhalt ist mein Problem zu erklären. Jede Hilfe wird geschätzt, danke!

Antwort

2

Sie können die Höhe auf 180dp festlegen, anstatt minHeight zu verwenden, und dann ein TextView in die Symbolleiste einfügen, um als Titel zu dienen.

+0

mit einigen Verbesserungen durch Hinzufügen eines benutzerdefinierten TextView als Titel es funktionierte. Ich konnte es sowieso nicht mit der Erweiterung oder dem Zusammenklappen der Toolbar schaffen ... – TheWhiteLlama

4

Dieser ist ziemlich einfach. Setzen Sie den unteren Rand Ihres Toolbar auf den Speicherplatz, der in der minimierten Version reserviert werden soll.

Die Begründung dafür ist einfach. CollapsingToolbarLayout erbt von FrameLayout, die Bilder übereinander stapelt. Die einzigen Dinge, die berücksichtigt werden, wenn kollabierte Grenzen berücksichtigt werden, sind die Höhe der Symbolleiste und die oberen/unteren Ränder.

+0

Arbeitete wie ein Zauberer, vielen Dank für die zusätzliche Zeit, die ich verbrachte, um die Antwort zu erklären! – Alessio