【问题标题】:Android : How to avoid header from scrolling in listview , android?Android:如何避免标题在列表视图中滚动,android?
【发布时间】:2010-11-25 07:13:17
【问题描述】:

我有一个列表视图,我在其中将 headerview 添加到该列表中。一切都很好,但是当滚动列表时,headerview 也随着列表移动,所以我想避免 headerview 滚动,我的意思是当我列出到达 topview(标题栏)时,我必须只滚动列表,headerview 必须保持在标题栏的底部。

谁能给个解决办法?

【问题讨论】:

    标签: android listview header


    【解决方案1】:

    使用以下布局代替标题:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent">
        <LinearLayout android:orientation="horizontal"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content">
          --> Your header layout here           
        </LinearLayout>
    
      <ListView android:id="@android:id/list"
          android:layout_width="fill_parent"
          android:layout_height="0dip"
          android:layout_weight="1" /> 
    </LinearLayout>
    

    需要注意的重要事项:

    • ListView 的 id 必须是 @android:id/list 才能使用 ListActivity
    • 使用 0 高度并将重量设置为 1

    【讨论】:

    • 对于一个标题,它是一个好标题。但如果我有,相同列表视图的不同列表模式。我已经为每个模式提供了一个标题视图
    • 一个问题是,如何将表头与其下划线数据对齐?
    • 那行得通。但对我来说,listview 可以有一个可以滚动的页眉和页脚似乎很奇怪。很难想到您希望它们滚动的用例。我希望看到添加到 ListView 的新属性来锁定页眉和页脚。
    【解决方案2】:

    对我来说,当我在列表视图之前添加一个名为 &lt;include&gt; 的标签时,它工作得很好, 代码是这样的

    <include layout="@layout/stationlist_header"/>
    <ListView
                android:id="@+id/mylist"
                android:layout_width="match_parent"
                android:layout_height="210dp"
                android:layout_gravity="bottom"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                            >
    </ListView>
    

    【讨论】:

      【解决方案3】:

      我不确定我是否正确理解您的问题。 所以我知道你有类似的东西。

      <ListView>
      <Header />
      <Item />
      <Item />
      <Item />
      </ListView>
      

      你为什么不这样做

      <Header />
      <ListView>
      <Item />
      <Item />
      <Item />
      </ListView>
      

      ?

      【讨论】:

      • 对于一个标题,这是个好主意。但如果我有,相同列表视图的不同列表模式。我已经为每个模式提供了一个标题视图
      【解决方案4】:

      不要添加标题视图,而是将视图直接添加到列表视图上方的布局中。 我已经像这样实现了我所有的列表视图,所有这些都可以正常工作..

      【讨论】:

        【解决方案5】:
        <?xml version="1.0" encoding="utf-8"?>
        <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" 
                       xmlns:android="http://schemas.android.com/apk/res/android">
        
        
         <ImageView android:id="@+id/title_top_refine_search" android:layout_width="fill_parent"
                              android:layout_height="45dip"
                              android:src="@drawable/title_bar_top"
                              android:scaleType="fitXY"
                              android:layout_alignParentTop="true" >
                    </ImageView>  
        
        
                <TextView android:id="@+id/TextView01" android:textColor="#FFFFFF" android:layout_marginTop="5dip"
                          android:textStyle="bold"  android:gravity="center" android:textSize="23dip"
                          android:text="Refine Search"  android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView> 
        
                <ListView android:id="@+id/ListView01"
                         android:layout_below="@+id/title_top_refine_search" 
                         android:layout_alignParentBottom="true"
                         android:layout_height="fill_parent"
                         android:layout_width="fill_parent"> </ListView> 
        
        </RelativeLayout>
        

        下面是包含标题视图和列表视图的布局示例

        【讨论】:

          猜你喜欢
          • 2019-10-05
          • 2014-09-04
          • 1970-01-01
          • 2016-05-03
          • 2013-08-24
          • 1970-01-01
          • 2012-08-05
          • 1970-01-01
          • 2015-03-06
          相关资源
          最近更新 更多