我有AppBarLayout
NestedScrollView
。我正在尝试使其正确显示并在显示时产生闪烁效果。
原来我有这个布局:
<FrameLayout>
<android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.AppBarLayout>
<android.support.design.widget.CollapsingToolbarLayout>
...collapsing content
<android.support.v7.widget.Toolbar/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView>
...scrolling content
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
</FrameLayout>
(NestedScrollView
外面 AppBarLayout
)它运作良好但滚动时我无法丢弃内容。
我使用the accepted answer here中的建议,使用the answer referenced by the accepted one中的布局模式,并将内容移到 AppBarLayout
。现在它很好,但NestedScrollView
中包含的内容在屏幕高度处被切断。当你开始向上滚动时,你会立即看到视图的结尾,尽管内容要长得多。
我的当前布局是:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|enterAlways">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
>
... textviews etc
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
</FrameLayout>
我尝试用wrap_content
替换match_height
,但这似乎不是问题。
我通过网络服务电话将所有内容加载到TextViews
,并在加载内容后在每个.RequestLayout();
上调用TextView
。
修改
我已将NestedScrollView
再次移到AppBarLayou
之外。它在AppBarLayout
折叠时晃动,但在它打开时不会晃动