【问题标题】:how to customize list view item spaces between them?如何自定义它们之间的列表视图项空间?
【发布时间】:2010-04-09 23:16:28
【问题描述】:

我想自定义不同项目之间的列表视图项目空间。我们一般显示列表项,它们之间有默认空间以便在列表中查看。我想自定义它们之间的空间差异,以便在显示部分内的列表中一次显示更多数据。

请给我一些解决方案。

感谢广告。 虾

【问题讨论】:

    标签: android android-layout android-listview listviewitem


    【解决方案1】:

    以编程方式改变填充?

    【讨论】:

    • @Jim:您应该将该问题添加为评论,而不是答案
    • 这不是答案。这是一个问题。看到那个小“?”最后的事情?
    【解决方案2】:

    当你定义一个 ListView 时,你有两个布局组件。 你有:

    • ListView 本身的布局

    此布局可让您定义在列表为空或已填满时显示的内容。请注意下面的android:id="@+id/android:list"android:id="@+id/android:empty",它们可以让您决定要显示的内容。这是一个例子:

    <?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"
             android:paddingLeft="8dp"
             android:paddingRight="8dp">
    
         <ListView android:id="@id/android:list"
                   android:layout_width="fill_parent" 
                   android:layout_height="fill_parent"
                   android:background="#000000"
                   android:layout_weight="1"
                   android:drawSelectorOnTop="false"/>
    
         <TextView android:id="@id/android:empty"
                   android:layout_width="fill_parent" 
                   android:layout_height="fill_parent"
                   android:background="#FF0000"
                   android:text="No data"/>
     </LinearLayout>
    
    • 每个条目的布局

    此布局将定义每个条目的显示方式。这就是——据我说——你感兴趣的。例如,如果您想在一个条目中包含两个信息,您的条目布局将如下所示:

    <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">
    
         <TextView android:id="@+id/text1"
             android:textSize="16sp"
             android:textColor="#99FFFFFF"
             android:layout_width="fill_parent"
             android:layout_height="20px"/>
    
         <TextView android:id="@+id/text2"
             android:textSize="13sp"
             android:textColor="#FFFFFF"
             android:layout_width="fill_parent"
             android:layout_height="20px"/>
     </LinearLayout>
    

    所以现在您只需修改最后一个示例布局并按照您想要的方式管理它。 希望我能提供帮助,如果您需要更多信息,请不要犹豫。

    【讨论】: