在NestedScrollView用完滚动内容后,阻止CollapsingToolbar崩溃 [英] Stop CollapsingToolbar from collapsing after NestedScrollView runs out of content to scroll
本文介绍了在NestedScrollView用完滚动内容后,阻止CollapsingToolbar崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Android中,如果NestedScrollView用完了要滚动的内容,如何才能使CollapsingToolbar停止折叠?该功能当前存在于Android 5.1.1上的联系人"应用程序中.但是,在我的代码中,当NestedScrollView停止滚动时,工具栏将继续折叠,从而在两者之间留出缝隙.
In Android, how can I get the CollapsingToolbar to stop collapsing if the NestedScrollView runs out of content to scroll? This functionality currently exists in the Contacts app on Android 5.1.1. However, in my code when the NestedScrollView stops scrolling the toolbar continues to collapse leaving gap between the two.
<?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:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="256dp"
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"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="@dimen/content_padding_normal"
app:expandedTitleMarginEnd="64dp">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:titleTextAppearance="@style/ActionBar.TitleText"
app:layout_collapseMode="pin" />
</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"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/keyline_2">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal">
<include
layout="@layout/ViewLoadingIndeterminate" />
<LinearLayout
android:id="@+id/progress_status_container"
style="@style/ConnectionFieldContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical"
android:visibility="visible">
<Spinner
android:id="@+id/progress_status"
android:layout_width="match_parent"
style="@style/Text.ConnectionField" />
<TextView
style="@style/Text.ConnectionLabel"
android:text="@string/mobile.customer.connect.progress.status" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/element_spacing_normal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/email1_container"
style="@style/ConnectionFieldContainer"
android:orientation="horizontal"
tools:visibility="visible">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/email1"
style="@style/Text.ConnectionField"
tools:text="bgnosis@gmail.com" />
<TextView
style="@style/Text.ConnectionLabel"
android:text="@string/mobile.customer.connect.email1" />
</LinearLayout>
<ImageButton
android:id="@+id/action_email1"
style="@style/Button.ConnectionAction"
android:src="@drawable/ic_email_black_24dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/email2_container"
style="@style/ConnectionFieldContainer"
android:orientation="horizontal"
tools:visibility="visible">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/email2"
style="@style/Text.ConnectionField"
tools:text="alternate@email.com" />
<TextView
style="@style/Text.ConnectionLabel"
android:text="@string/mobile.customer.connect.email2" />
</LinearLayout>
<ImageButton
android:id="@+id/action_email2"
style="@style/Button.ConnectionAction"
android:src="@drawable/ic_email_black_24dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/phone_day_container"
style="@style/ConnectionFieldContainer"
android:orientation="horizontal"
tools:visibility="visible">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/phone_day"
style="@style/Text.ConnectionField"
tools:text="801-555-1234" />
<TextView
style="@style/Text.ConnectionLabel"
android:text="@string/mobile.customer.connect.phone.day" />
</LinearLayout>
<ImageButton
android:id="@+id/action_call_phone_day"
style="@style/Button.ConnectionAction"
android:src="@drawable/ic_call_black_24dp" />
<ImageButton
android:id="@+id/action_text_phone_day"
style="@style/Button.ConnectionAction"
android:src="@drawable/ic_textsms_black_24dp" />
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/create_reminder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_anchor="@id/collapsing_toolbar"
app:layout_anchorGravity="bottom|right|end"
app:borderWidth="0dp"
app:elevation="@dimen/shadow_size"
android:layout_marginBottom="@dimen/keyline_1"
android:layout_marginRight="@dimen/keyline_1"
android:src="@drawable/ic_alarm_add_white_24dp"
app:backgroundTint="?attr/colorAccent" />
</android.support.design.widget.CoordinatorLayout>
推荐答案
只需添加
android:layout_gravity="fill_vertical"
在您的NestedScrollView中. :)
in your NestedScrollView. :)
这篇关于在NestedScrollView用完滚动内容后,阻止CollapsingToolbar崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文