Ich habe eine Android-Aktivität, die ein CollapsingToolbarLayout in einem CoordinatorLayout verwendet, um eine Bildlauf-/Minimierungs-Symbolleiste mit einem Bild als Hintergrund/Banner zu erstellen.Anfangshöhe des Parallax-Bildes in CollapsingToolbarLayout setzen
Das Bild wird aus dem Internet geladen und ich kenne seine Größe vorher nicht.
Ich möchte, dass die Symbolleiste zunächst eine bestimmte Höhe (160dp) hat, aber wenn das Bild größer ist, würde ich dem Benutzer erlauben, noch weiter nach unten zu scrollen, um den Rest des Bildes freizulegen. Dies sollte jedoch niemals automatisch geschehen. Der Anfangszustand ist 160 dpi, aber der Benutzer sollte in der Lage sein, einen Bildlauf nach unten durchzuführen, um die Höhe des Bildes weiter zu erhöhen.
Ich kann nicht scheinen, die richtige Kombination von Höhe/Minhöhe zu finden, um dies zu erreichen. Ist das überhaupt möglich?
Hier ist mein Layout:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/toolbar_text">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
android:fitsSystemWindows="true">
<!-- The background banner -->
<ImageView
android:id="@+id/imgBanner"
android:layout_width="match_parent"
android:layout_height="160dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:theme="@style/AppToolbarTheme" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
...
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
Die Höhe des Banners Bildes 160dp eingestellt, der steuert, wie groß die Symbolleiste zunächst, aber offensichtlich diese Art, wie ich es über den 160dp nicht verlängern kann, weil das das ist Höhe der Ansicht.
Ich versuchte 160dp Höhe der CollapsingToolbarLayout
oder AppBarLayout
aber es hilft nichts, es ist immer maximal 160dp in Höheneinstellung und ich kann es nur nach oben (kleineres Bild) und nicht nach unten, auch wenn das Bild viel größer ist und die ImageView
wird als wrap_content
skaliert.
Hier ist eine Zeichnung von dem, was ich im Fall erreichen will es nicht klar ist:
Ich versuche genau die gleiche Sache zu haben. Hast du es geschafft, dass das funktioniert? –