如何调整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
。为什么?在这里我给你一些理由:
- 在给定布局上的任何位置对齐任何内容会容易得多。
- 您可以定义属性以便轻松对齐和排列。
- 您可以拖入视图并在
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>
如何将 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
。为什么?在这里我给你一些理由:
- 在给定布局上的任何位置对齐任何内容会容易得多。
- 您可以定义属性以便轻松对齐和排列。
- 您可以拖入视图并在
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>