Collapsing Toolbar

This commit is contained in:
Dominik Schürmann
2015-08-28 04:20:43 +02:00
parent 1b5afc3247
commit 2ad39c27d9
3 changed files with 253 additions and 272 deletions

View File

@@ -1,183 +1,178 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<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"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout
android:id="@+id/toolbar_big"
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/huge_toolbar"
android:elevation="4dp"
android:background="?attr/colorPrimary"
android:orientation="horizontal">
android:layout_height="wrap_content"
android:background="@color/primary"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<ImageView
android:id="@+id/view_key_photo"
android:visibility="gone"
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/status_bar"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:src="@drawable/ic_launcher"
android:baselineAlignBottom="false"
android:cropToPadding="false"
android:focusable="false"
android:adjustViewBounds="false"
android:layout_alignParentTop="false"
android:scaleType="centerCrop" />
android:fitsSystemWindows="true"
app:contentScrim="@color/primary"
app:expandedTitleMarginBottom="102dp"
app:expandedTitleMarginEnd="128dp"
app:expandedTitleMarginStart="47dp"
app:expandedTitleTextAppearance="@style/TextAppearance.AppCompat.Headline"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/statusbar_height"
android:background="?attr/colorPrimary" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="238dp"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:background="@color/transparent"
android:layout_below="@+id/status_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:overScrollMode="always"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
tools:ignore="UnusedAttribute"
android:transitionGroup="false"
android:touchscreenBlocksFocus="false" />
<ImageView
android:id="@+id/view_key_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="false"
android:adjustViewBounds="false"
android:baselineAlignBottom="false"
android:cropToPadding="false"
android:fitsSystemWindows="true"
android:focusable="false"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher"
android:visibility="gone" />
<TextView
android:id="@+id/view_key_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="48dp"
android:layout_marginStart="48dp"
android:layout_marginRight="48dp"
android:layout_marginEnd="48dp"
android:text=""
tools:text="Alice Skywalker"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_above="@+id/view_key_status" />
<TextView
android:id="@+id/view_key_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/toolbar2"
android:layout_marginEnd="48dp"
android:layout_marginLeft="48dp"
android:layout_marginRight="48dp"
android:layout_marginStart="48dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?attr/colorTabText"
tools:text="My Key" />
<TextView
android:id="@+id/view_key_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="48dp"
android:layout_marginStart="48dp"
android:layout_marginRight="48dp"
android:layout_marginEnd="48dp"
android:text=""
tools:text="My Key"
android:textColor="?attr/colorTabText"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_above="@+id/toolbar2" />
<LinearLayout
android:id="@+id/toolbar2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="32dp"
android:minHeight="?attr/actionBarSize"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/toolbar2"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:minHeight="?attr/actionBarSize"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="32dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true">
<ImageButton
android:id="@+id/view_key_action_encrypt_files"
style="?android:attr/borderlessButtonStyle"
android:layout_width="64dp"
android:layout_height="64dp"
android:src="@drawable/ic_action_encrypt_file_24dp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageButton
android:id="@+id/view_key_action_encrypt_files"
android:layout_width="64dp"
android:layout_height="64dp"
android:visibility="invisible"
tools:visibility="visible"
style="?android:attr/borderlessButtonStyle"
android:src="@drawable/ic_action_encrypt_file_24dp" />
<ImageButton
android:id="@+id/view_key_action_encrypt_text"
style="?android:attr/borderlessButtonStyle"
android:layout_width="64dp"
android:layout_height="64dp"
android:src="@drawable/ic_action_encrypt_text_24dp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageButton
android:id="@+id/view_key_action_encrypt_text"
android:layout_width="64dp"
android:layout_height="64dp"
android:visibility="invisible"
tools:visibility="visible"
style="?android:attr/borderlessButtonStyle"
android:src="@drawable/ic_action_encrypt_text_24dp" />
<ImageButton
android:id="@+id/view_key_action_nfc"
style="?android:attr/borderlessButtonStyle"
android:layout_width="64dp"
android:layout_height="64dp"
android:src="@drawable/ic_nfc_white_24dp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageButton
android:id="@+id/view_key_action_nfc"
android:layout_width="64dp"
android:layout_height="64dp"
android:visibility="invisible"
tools:visibility="visible"
style="?android:attr/borderlessButtonStyle"
android:src="@drawable/ic_nfc_white_24dp" />
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/view_key_status_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:layout_above="@id/toolbar2"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp"
android:src="@drawable/status_signature_unverified_cutout_96dp"
android:visibility="invisible"
tools:visibility="visible" />
<ImageView
android:id="@+id/view_key_status_image"
android:layout_width="96dp"
android:visibility="invisible"
tools:visibility="visible"
android:src="@drawable/status_signature_unverified_cutout_96dp"
android:layout_height="96dp"
android:layout_above="@id/toolbar2"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="16dp" />
<android.support.v7.widget.CardView
android:id="@+id/view_key_qr_code_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/toolbar2"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
android:transitionName="qr_code"
android:visibility="visible"
app:layout_collapseMode="parallax"
card_view:cardBackgroundColor="@android:color/white"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="2dp"
card_view:cardUseCompatPadding="true"
tools:visibility="invisible">
<android.support.v7.widget.CardView
android:id="@+id/view_key_qr_code_layout"
android:transitionName="qr_code"
android:visibility="visible"
android:layout_above="@id/toolbar2"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
tools:visibility="invisible"
card_view:cardBackgroundColor="@android:color/white"
card_view:cardElevation="2dp"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="4dp">
<ImageView
android:id="@+id/view_key_qr_code"
android:layout_width="96dp"
android:layout_height="96dp" />
</android.support.v7.widget.CardView>
<ImageView
android:id="@+id/view_key_qr_code"
android:layout_width="96dp"
android:layout_height="96dp"
/>
</android.support.v7.widget.CardView>
</RelativeLayout>
</RelativeLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:touchscreenBlocksFocus="false"
android:transitionGroup="false"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
tools:ignore="UnusedAttribute" />
</android.support.design.widget.CollapsingToolbarLayout>
<LinearLayout
android:id="@+id/body"
android:layout_below="@id/toolbar_big"
android:orientation="vertical"
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="?android:attr/listDivider"
android:visibility="gone"
android:id="@+id/view_key_status_divider" />
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<!-- it is not scrolling far enough down thus adding padding -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:paddingBottom="160dp">
<FrameLayout
android:id="@+id/view_key_fragment"
@@ -186,21 +181,16 @@
android:orientation="vertical" />
</FrameLayout>
</LinearLayout>
<com.getbase.floatingactionbutton.FloatingActionButton
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_alignBottom="@id/toolbar_big"
android:layout_alignParentRight="true"
android:layout_marginRight="20dp"
android:layout_marginBottom="-40dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
tools:visibility="visible"
android:elevation="4dp"
fab:fab_icon="@drawable/ic_qrcode_white_24dp"
fab:fab_colorNormal="?attr/colorFab"
fab:fab_colorPressed="?attr/colorFabPressed" />
android:layout_margin="24dp"
android:src="@drawable/ic_qrcode_white_24dp"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right|end" />
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>