List的自定义行中的ImageView不对齐

时间:2016-03-16 17:32:45

标签: android android-layout

我有一个列表的自定义行。我想放置一个箭头图像作为用户点击的视觉指南。

图像从新行开始,从不在单元格的右边缘正确排列。

这是我的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/txtYMMC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Year Make Model Color" />

    <TextView
        android:id="@+id/txtCallNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Call Number: 0000" />

    <ImageView
        android:id="@+id/imgDisclosureArrow"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/arrowright" />

</LinearLayout>

这里是一张正在发生的事情的图片

enter image description here

这就是我想要的。

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用RelativeLayout

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Year Make Model Color"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Call Number: 0000"/>
        </LinearLayout>

        <ImageView
            android:layout_alignParentEnd="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/arrowright"/>

</RelativeLayout>

您使用的某些属性(例如android:layout_alignParentRight)未在LinearLayout中使用...

当然还有其他方法,但这只是一种方式。

答案 1 :(得分:0)

您的LinearLayout方向垂直,将其更改为水平,这就是显示ImageView显示其他元素的原因。试试这个

   <LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="0p"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Year Make Model Color"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Call Number: 0000"/>
    </LinearLayout>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/arrowright"/>

    </LinearLayout>

希望这会有所帮助!!