我有一个列表视图,我正在膨胀两个标题。 header1然后低于它header2然后低于那个列表项。
listview的高位是match_parent
如何制作它以便在滚动列表时,header2不会从屏幕上消失。所以它最高的是屏幕的顶部,而列表项在它下面滚动
答案 0 :(得分:3)
以下代码对某人有用。
1.具有工具栏的代码。
2.工具栏下方的视图(V1)(滚动时将会消失)
3. V1另一个视图(V2)(它将粘在工具栏的顶部)
4.然后最后一个将滚动..(可能是嵌套滚动视图内的视图,Recyclerview ...等)
提示:
1.在xml中,视图(V1)必须滚动,应该在CollapsingToolbarLayout 中给出,并且视图(V2)具有要坚持坚持在顶部,应该在CollapsingToolbarLayout之外和AppbarLayout内部 。
2.对于演示使用NestedScrollview和一些虚拟文本..如果您使用Recyclerview或类似的东西请不要忘记把 应用:layout_behavior =" @串/ appbar_scrolling_view_behavior" 强>
下面给出了xml。
first.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/tollbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#c65"
android:elevation="4dp"
/>
<include
layout="@layout/sample"/>
</LinearLayout>
sample.xml中
<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="wrap_content"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/rest_logo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:scaleType="fitXY"
android:src="@mipmap/ic_launcher"
app:layout_collapseMode="parallax" />
</android.support.design.widget.CollapsingToolbarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="#cff"
android:gravity="center"
app:layout_collapseMode="pin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header Sticking in Top"
android:textColor="#000" />
</LinearLayout>
</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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="vertical"
android:textColor="#000">
<TextView
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="1"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="2"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="3"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="4"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="5"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="6"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="7"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="8"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="9"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="10"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="11"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="12"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="13"
android:textColor="#000" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="10dp"
android:background="#ccc"
android:gravity="center"
android:text="14"
android:textColor="#000" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
答案 1 :(得分:1)
其他几个人已经为此开发了解决方案。我在谷歌的快速搜索中找到了这两个,但肯定还有更多。