如何调整ListView中的ImageView?

How do I adjust the ImageView in ListView?

如何将 ImageView 移动到左侧,如下图所示?

这是我的列表视图和布局。

custom_row.xml

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

    <TextView android:id="@+id/ListType"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="17sp"
        android:textStyle="bold"
        android:textColor="@color/black"/>

    <TextView android:id="@+id/ListAmount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="17sp"
        android:textColor="@color/blue"/>

    <TextView android:id="@+id/ListDescription"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="17sp"
        android:textColor="@color/blue"/>

    <ImageView
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="25dp"
        android:id="@+id/photo" />
</LinearLayout>

谢谢!

请尝试使用 RelativeLayout 而不是 LinearLayout。为什么?在这里我给你一些理由:

  1. 在给定布局上的任何位置对齐任何内容会容易得多。
  2. 您可以定义属性以便轻松对齐和排列。
  3. 您可以拖入视图并在 Android Studio 中排列它们。

请尝试使用 LinearLayout,如下面的代码所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <ImageView
        android:id="@+id/photo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingLeft="10dp"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/ListType"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/black"
            android:textSize="17sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/ListAmount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/blue"
            android:textSize="17sp" />

        <TextView
            android:id="@+id/ListDescription"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/blue"
            android:textSize="17sp" />
    </LinearLayout>

</LinearLayout>

在这里使用相对布局更容易:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <!-- Sit image to the Parent's left -->
    <ImageView
        android:layout_alignParentLeft="true"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="25dp"
        android:id="@+id/photo" />

   <!-- Position, to right of Image & Stack views relative here as well -->
   <RelativeLayout 
        android:layout_toRightOf="@+id/photo"
        android:layout_height="wrap_content"
        android:layout_width="match_parent">
        <TextView android:id="@+id/ListType"
            android:textSize="17sp"
            android:textStyle="bold"
            android:textColor="@color/black"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView android:id="@+id/ListAmount"
            android:layout_below="@+id/listType"
            android:layout_width="wrap_content"
            android:textSize="17sp"
            android:textColor="@color/blue"
            android:layout_height="wrap_content"/>
        <TextView android:id="@+id/ListDescription"
            android:layout_below="@+id/ListAmount"
            android:layout_width="wrap_content"
            android:textSize="17sp"
            android:textColor="@color/blue"
            android:layout_height="wrap_content"/>
    </RelativeLayout>

</RelativeLayout>

您想要的布局需要嵌套布局策略。

您的顶部线性布局应具有 horizontal 方向,其中有两个子布局,一个是 imageview,另一个是 LinearLayout。 第二个线性布局具有 vertical 方向,您可以在其中添加更多子视图,例如您的案例金额、索赔类型等。

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

<ImageView
    android:layout_width="25dp"
    android:layout_height="25dp"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="25dp"
    android:id="@+id/photo" />
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
 <TextView android:id="@+id/ListType"
      android:textSize="17sp"
      android:textStyle="bold"
      android:textColor="@color/black"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"/>
  <TextView android:id="@+id/ListAmount"
      android:layout_width="wrap_content"
      android:textSize="17sp"
      android:textColor="@color/blue"
      android:layout_height="wrap_content"/>
  <TextView android:id="@+id/ListDescription"
      android:layout_width="wrap_content"
      android:textSize="17sp"
      android:textColor="@color/blue"
      android:layout_height="wrap_content"/>

 </LinearLayout>


</LinearLayout>

您可以获得更多有关复杂布局的想法:here

您应该了解不同用途的不同布局类型。 在上面的代码片段中,您可以使用 layout_weight 在其父布局

中为视图提供固定的 wieht/area

请找到下面的代码

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

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

            <ImageView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_marginLeft="10dp"
                android:layout_marginTop="25dp"
                android:id="@+id/photo"
                android:layout_weight=".2"/>

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.8">
                <TextView android:id="@+id/ListType"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="17sp"
                    android:textStyle="bold"
                    android:textColor="@color/black"/>

                <TextView android:id="@+id/ListAmount"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="17sp"
                    android:textColor="@color/blue"/>

                <TextView android:id="@+id/ListDescription"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="17sp"
                    android:textColor="@color/blue"/>
            </LinearLayout>

        </LinearLayout>

    </LinearLayout>