我从网上获得了一个列表(链接是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>
答案 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>