Listview:标题和放大器的不同填充;内容

时间:2014-02-10 13:28:58

标签: android android-listview

我正在开发一个广泛的代码库,我需要为其大多数ListView添加一个标题 我的麻烦是标头需要没有填充,而现有的列表已经有20dp的填充 它可以将listview填充设置为0dp&重写所有listview内容布局,但由于代码库的大小不是首选选项,所以我正在寻找一种方法来执行此操作: 有一个不同的填充标题和&内容。有谁知道这样做的方法?

编辑:澄清:我需要将标题作为标准列表视图,与列表视图的其余部分一起滚动。一个独立的标题确实是一个微不足道的问题。

3 个答案:

答案 0 :(得分:1)

我只是找到了有效地做到这一点的正确方法:
在创建视图时将列表填充设置为0,例如,在初始化其listfragment时:

setPadding(0,0,0,0);

并在 Adapter 中,设置每个元素的填充:

getViewFor (Item element, int globalPosition, int elementPosition,
            View convertView, ViewGroup parent) {
...
convertView.setPadding(getItemPadding());
}

这样我就可以获得标题和放大器的不同填充。列表本身(在我的情况下,我希望标题为0填充)在最小代码和&性价比。

答案 1 :(得分:0)

将标题放入不同的视图,然后

   mListView.addHeaderView(R.layout.mHeaderView);

答案 2 :(得分:-1)

@Artoo是正确的,你可以做的最好的事情就是在listView上方有一个textview,你可以添加任何填充,因为它与你的ListView无关。

以下是我的摘录。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="20dp"
    android:text="I am Header"/>
<ListView 
   android:id="@+id/list"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"     
    >

</ListView>

这是我的输出。 (我知道它看起来奇怪)但它的确有效。 :) enter image description here

如果您需要进一步的帮助,请告诉我。快乐的编码。 :)