我正在尝试为ListActivity
的每一行创建背景。我有两个背景图像,我需要并排放置。有一个leftshopitem
图像,用作项目图标的占位符,以及rightshopitem
图像,用于写入文本信息。
基本上我想要以下属性:我需要将图像图标置于leftshopitem
图像的中心,我需要将textViews显示在rightshopitem
图像上。
目前,我有这个代码 - 我意识到这是非常错误的。背景图像显示正确对齐,但图标和文本不对齐。我想我的问题是,如何将一个imageView设为'父',以便我可以将其他对象放在相对于它的位置。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/leftbackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/leftshopitem" />
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
/>
<ImageView
android:id="@+id/rightbackground"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/leftbackground"
android:src="@drawable/rightshopitem" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="10dp"
>
<TextView
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
/>
<TextView
android:id="@+id/weight"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16sp"
/>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
您可以使用android_layout_toLeftOf="@id/leftbackground", android_layout_toRightOf="@id/leftbackground"
等来“放置相对于其位置的其他对象”。
如果您改为使用android:align_parentLeft="true"
等,则可以根据需要将一个视图放在另一个视图之上。
您还可以使用android:background="@drawable/leftshopitem"
在其中一个RelativeLayouts中将图像设置为背景(与“使图像成为'父级'”相同)。