Android —帮助ListView中“复杂”行的XML

我有一个相对复杂的布局,我想成为Android中ListView的“行”,但是我很难让最右边的元素显示在每一行上.

该行应如下所示:

左侧有一个图标(50dip x 50dip),右侧有一个图标(9 x 13).图标应左右对齐,中间带有可变文本.

问题是使用我当前的XML布局将我最右边的图标(9 x 13)推离可见区域,而我尝试的修复全部失败.

建议?

![替代文字] [1]

[1]:

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:padding="5dip">
    <LinearLayout android:orientation="horizontal"
        android:gravity="center" android:layout_width="fill_parent"
        android:layout_height="60dip">
        <LinearLayout android:orientation="horizontal"
            android:layout_width="fill_parent" android:minHeight="55dip"
            android:padding="5dip" android:layout_height="fill_parent">
            <ImageView android:id="@+id/img" android:layout_width="50dip"
                android:layout_height="50dip" android:layout_marginRight="6dip" />
            <TextView android:ellipsize="end" android:textColor="#454545"
                android:id="@+id/ttt" android:textSize="18sp" android:gravity="center_vertical"
                android:layout_width="fill_parent" android:layout_height="fill_parent" />
        </LinearLayout>
        <ImageView android:layout_height="13dip" android:minWidth="9dip"
            android:layout_width="fill_parent" android:id="@+id/disclosure" />
    </LinearLayout>
</LinearLayout>

解决方法:

为什么不使用带有alignParentLeft和alignParentRight属性的RelativeLayout?我认为这样会更简单,并且使用更少的LayoutManagers.类似于以下内容:请注意,这假定行的高度为50dip,两个图像的高度为50×50 dip.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="50dip"
    android:layout_width="fill_parent"
    android:layout_weight="0">
<ImageView 
    android:layout_height="50dip"
    android:layout_width="50dip"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"/>
<TextView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true" 
    android:text="some text"/>
<ImageView 
    android:layout_height="50dip"
    android:layout_width="50dip"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"/>
</RelativeLayout>
上一篇:android-SimpleCursorAdapter-绑定到ListView中的多个项目值


下一篇:Android-如何判断有人按下了SPINNER,但未更改其中的可见项目