我正在尝试构建一个复杂的列表视图项目布局,其中所有元素的每个列表视图项目的尺寸都相同,整个布局占据了屏幕的整个宽度。到目前为止,我尝试使用线性布局来执行此操作,发现这是错误的方法。然后我尝试使用相对布局,但这对我不起作用,所以我希望有人能指出我如何才能完成这项工作。
这是我正在尝试构建的图表。
以下是有关图表的更多详细信息:
对于每个列表项,只有元素 5 和 6 具有相同的内容。其余元素都将具有不同的文本,但布局应始终具有相同的大小。
元素 4 应该只有 2 行。元素 1、2 和 3 应该只有 1
行。元素 2 应左对齐,元素 3 应
右对齐。元素 2 和 3 应该是元素 4 宽度的一半。
这是我使用RelativeLayout 对此布局的尝试。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="2dp">
<TextView
android:id="@+id/txtRaceNumber"
android:layout_width="20dp"
android:layout_height="fill_parent"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center"
android:layout_gravity="center"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true" />
<TextView
android:id="@+id/txtRaceName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_toRightOf="@id/txtRaceNumber"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/txtRaceClass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:maxLines="1"
android:ellipsize="marquee"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_toRightOf="@id/txtRaceNumber" />
<TextView
android:id="@+id/txtRaceStartTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceSmall"
android:maxLines="1"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@id/txtRaceClass" />
<ImageButton
android:id="@+id/btnTracklist"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@null"
android:paddingRight="8dip"
android:focusable="false"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@id/txtRaceStartTime" />
<ImageView
android:src="@drawable/go"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/btnTracklist" />
</RelativeLayout>
使用这个RelativeLayout,所有元素在布局中都显得混乱。
我怎样才能让所有这些元素像我在图中显示的那样对齐?