使用android xml和java创建列表

时间:2012-06-09 17:35:54

标签: android xml listview android-xml

我从网上获得了一个列表(链接是here

它使用两个xml布局来创建列表,第一个xml只是第二个xml将作为列表中的按钮显示的背景。

我想要做的是拥有相同的列表,但在顶部添加一个小图片或图片标题,我一直在玩这个列表,但我不能让它工作,我能想到的唯一方法实现这一点是以某种方式移动显示第二个xml的位置,并使顶部添加我喜欢的任何内容。

感谢您提供帮助和想法,使其成功!

[编辑]代码段... 第一个XML布局

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="schemas.android.com/apk/res/android";
android:id="@android:id/list"
android:layout_width="fill_parent"    
android:layout_weight="1"
android:scrollbars="none"
android:divider="#000000"
android:scrollingCache="true" android:layout_height="wrap_content"/>

第二个XML布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="#AA010101"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ListView android:id="@+id/list"
android:layout_width="1px"
android:layout_height="1px"
android:layout_weight="1">
</ListView>
<RelativeLayout xmlns:android="schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:paddingLeft="10dp"
android:paddingTop="5dp"
android:paddingBottom="5dp" 
android:layout_height="fill_parent">
<ImageView android:id="@+id/img"
android:layout_width="80dp"
android:layout_height="70dp"
android:layout_alignParentLeft="true"
android:scaleType="fitXY" />
<TextView android:layout_width="wrap_content"
android:id="@+id/title" 
android:layout_height="wrap_content"
android:paddingTop="18dp"
android:layout_toRightOf="@+id/img" 
android:textStyle="bold"
android:textColor="#ffffff"
android:layout_marginRight="50dp"
android:paddingLeft="10dp"
android:textSize="16sp" />
</RelativeLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

您必须编辑包含<ListView>的XML文件,方法是添加您之前想要的任何内容(最有可能是TextView和Compound Drawable)。所谓你所谓的“背景”看起来更像是这样:

主要布局应该托管<TextView>(+ eventuall a Compound Image)+ <ListView>

辅助布局应托管每个列表项的内容。如果每个XML布局中都有<ListView>,则表示您将拥有一个列表列表...我对您的列表和应用程序了解不多,并且不知道您想要显示哪些信息每个列表项(例如ContactName,CalendarDate,Cities ......等等)。但是在这两种情况下你需要ListView的可能性很小。

mainListLayout.xml

<?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:id="@+id/Text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="text to replace image"
        android:drawableLeft="@drawable/reference"
        android:text="Title of the list"/>

    <ListView
        android:id=”@android:id/list”
        android:layout_width=”fill_parent”
        android:layout_height=”wrap_content” />

</LinearLayout>

Drawable显然可以位于右侧,顶部或底部,而不仅仅位于左侧。您可能还想查看android:drawablePadding="@dimen/xxx以在文本/标题和图像之间添加一些额外空间。 Drawable必须是res / drawable中的一个ic_ * png文件(最终是-hdpi,-mdpi等)

itemLayout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:contentDescription="@string/ItemIcon"
android:layout_width="000"
android:layout_height="000"
android:src="@drawable/ic_icone"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/ItemDescription"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textColor="#000000"
android:text="ItemDescription" />
</RelativeLayout>