我在 CL 中使用 NSV,以便在 NSV 向下滚动时压缩工具栏。我遇到的问题是我的 NSV 在加载时没有滚动到顶部,而是从 NSV 的顶部偏移了相当大的边距(我不确定这个间距来自哪里,它不在布局)。
请看一下屏幕截图,第一个显示了 NSV 的加载方式,通过比较第二个(当我手动将 NSV 滚动到顶部时),您可以清楚地看到 NSV 从顶部向下滚动了很多:
我对此布局进行了一些更新,导致这种情况发生,以前,它加载在顶部没有问题。但是,我没有添加任何应该导致这种情况的间距。
这是我为此使用的布局:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/cl_goal_detail"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<android.support.design.widget.AppBarLayout
android:id="@+id/abl_goal_detail"
android:layout_width="match_parent"
android:layout_height="144dp"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_goal_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/content_space_double"
app:collapsedTitleTextAppearance="@style/title.dark"
app:expandedTitleTextAppearance="@style/display3.plus.dark"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_goal_detail"
style="@style/toolbar"
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/nsv_goal_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/content_space_half"
android:paddingLeft="@dimen/content_space_half"
android:paddingRight="@dimen/content_space_half"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<FrameLayout
android:id="@+id/container_goal_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"/>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
任何想法,将不胜感激!