代码之家  ›  专栏  ›  技术社区  ›  ggomeze

ListView上的静态头

  •  1
  • ggomeze  · 技术社区  · 14 年前

    我有一个ListActivity,上面显然有一个ListView。这个列表视图由不同的部分组成,每个部分都有一个标题。

    当我向用户显示项目列表时,第一个标题在顶部。如果用户滚动,则会隐藏标题并显示其余项目。我知道如何使这个简单的头保持静态,总是在顶部,但我现在想要的是,最后一个显示的头总是在顶部。

    Gmail的最新版本是我想要的一个很好的例子。当你浏览一条消息时,如果你滚动的话,你会看到消息头总是在上面。如果继续滚动并转到下一条消息,当新消息头由于滚动操作即将消失时,它将替换当前静态头,这样用户将始终将当前消息的头放在顶部,作为浮动面板。

    是否有任何例子,或关于如何实施的一些指导?

    谢谢!

    1 回复  |  直到 13 年前
        1
  •  1
  •   Ljdawson    14 年前

    我没有尝试过这个方法,但我认为可以使用LinearLayout来实现,在这个例子中,textView应该保持在顶部的静态:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <TextView
        android:text="row one"
        android:textSize="15pt"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
    
        <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
    
    </LinearLayout>