Ich habe Probleme, die Design Support Library in meine Anwendung zu integrieren. Aus irgendeinem Grund wird die Symbolleiste mit dem CollapsingToolbarLayout ausgeblendet und bleibt nicht wie im Cheesesquare-Beispiel von Chris Banes fixiert. https://github.com/chrisbanes/cheesesquare
Ich habe nichts anderes an meinem Layout gemacht. Tatsächlich habe ich meine Stile durch seine ersetzt und sein Layout geändert. Ich frage mich, ob die Verwendung von Toolbar anstelle von Android.support.v7.widget.Toolbar dies verursacht.
Hier liegt das Problem.
Hier ist mein XML des AppBar-Abschnitts.
<Android.support.design.widget.CoordinatorLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/main_content"
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="@dimen/detail_backdrop_height"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
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"
Android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp">
<ImageView
Android:id="@+id/backdrop"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
app:layout_collapseMode="parallax" />
<Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
...
</Android.support.design.widget.CoordinatorLayout>
Ihre Intuition war richtig: CollapsingToolbarLayout
ist darauf angewiesen, dass Sie die Unterstützung Toolbar
verwenden - hiermit wird (unter anderem) die Mindesthöhe von CollapsingToolbarLayout
festgelegt. Sie sollten die Support-Version von Toolbar
verwenden, um die bestmögliche Erfahrung mit CollapsingToolbarLayout
zu gewährleisten.
<?xml version="1.0" encoding="utf-8"?>
<Android.support.design.widget.CoordinatorLayout 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"
tools:context=".UserDetail" >
<Android.support.design.widget.AppBarLayout
Android:id="@+id/app_bar_layout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fitsSystemWindows="true"
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"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
Android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp" >
<ImageView
Android:id="@+id/imageView_list"
Android:layout_width="match_parent"
Android:layout_height="275dp"
app:layout_collapseMode="parallax"
Android:fitsSystemWindows="true"
Android:scaleType="fitXY"
Android:src="@drawable/default_profile" />
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.widget.NestedScrollView
Android:id="@+id/scroll"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Android:clipToPadding="false" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical" >
<TableLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_horizontal"
Android:layout_margin="15dp"
Android:shrinkColumns="1"
Android:stretchColumns="*" >
<TableRow
Android:id="@+id/tableRow1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="5dp" >
</TableRow>
<TableRow
Android:id="@+id/tableRow2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/CurrentAddress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Current Address:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_CurrentAddress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:inputType="textMultiLine"
Android:text="Current Address"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/PermanentAddress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Permanent Address:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_PermanentAddress"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:inputType="textMultiLine"
Android:text="Permanent Address"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow4"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/Email"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Email:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_Email"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Email Address"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow5"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/PhoneNumber"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Phone Number:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_PhoneNumber"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Phone Number"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow6"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/BirthDate"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Date of Birth:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_BirthDate"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="BirthDate"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow7"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/Gender"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Gender:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_Gender"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Gender"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow8"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/Education"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Education:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_Education"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Education"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow9"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/Qualification"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Qualification:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_Qualification"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Qualification"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow10"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/BloodGroup"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="BloodGroup:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_BloodGroup"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="BloodGroup"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
<TableRow
Android:id="@+id/tableRow11"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp" >
<TextView
Android:id="@+id/MaritalStatus"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="MaritalStatus:"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="bold" />
<TextView
Android:id="@+id/txt_MaritalStatus"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="MaritalStatus"
Android:textColor="#000000"
Android:textSize="15sp"
Android:textStyle="normal" />
</TableRow>
</TableLayout>
<!-- <Button
Android:id="@+id/addContact"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="Add To Contact"
Android:textStyle="bold"
Android:visibility="invisible" /> -->
</LinearLayout>
</Android.support.v4.widget.NestedScrollView>
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/fab"
Android:layout_margin="16dp"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right|end"
Android:clickable="true"
Android:src="@drawable/addtocontact"
style="@style/FabStyle"
/>
</Android.support.design.widget.CoordinatorLayout>
app:layout_collapseMode="pin"
, Um sicherzustellen, dass die Symbolleiste selbst am oberen Bildschirmrand angeheftet bleibt, während die Ansicht ausgeblendet wird.CollapsingToolbarLayout
und Toolbar zusammen verwenden, wird der Titel automatisch größer, wenn das Layout vollständig sichtbar ist, und wechselt dann zu seiner Standardgröße, wenn es reduziert wird.Beachten Sie, dass Sie in diesen Fällen setTitle()
auf der CollapsingToolbarLayout
aufrufen sollten und nicht in der Symbolleiste.
Weitere Informationen zur Implementierung finden Sie unter Android Developers
Blog oder Details zum Paket CollapsingToolbarLayout