为什么添加新项目时listview项目的图像变小?

时间:2019-01-30 04:11:46

标签: android android-layout

我正在从FireView的列表视图中检索数据。当有一项时,图像尺寸保持良好,但是当我添加另一项时,图像尺寸变小。

我在ImageView中将wrap_content用于高和宽。有些项目可能没有图像,这就是为什么我不能手动设置高度和宽度的原因。

这是我的列表布局:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
tools:context=".UserPostHistoryActivity"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@color/lesswhite"
        android:padding="10dp"
        android:id="@+id/posthistorylayer">

        <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/listuserposthistory"
            android:divider="@color/lesswhite"
            android:dividerHeight="10.0sp"/>

    </LinearLayout>

这是要在Listview中显示的项目布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:id="@+id/postdamo"
    android:background="@color/white">


    <TextView
        android:id="@+id/postnametv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="5dp"
        android:text="Username"
        android:textSize="18sp"
        android:textStyle="bold"
        tools:ignore="RtlCompat" />

    <TextView
        android:id="@+id/postdatetv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/postnametv"
        android:layout_below="@+id/postnametv"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="24-Jan-2019"
        android:textSize="14sp"
        tools:ignore="RtlCompat" />

    <TextView
        android:id="@+id/poststatustv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/postnametv"
        android:layout_below="@+id/postdatetv"
        android:layout_marginTop="0dp"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="Not Collected"
        android:textSize="18sp"
        android:textStyle="bold"
        tools:ignore="RtlCompat" />

    <ImageView
        android:id="@+id/postimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/poststatustv"
        android:layout_centerHorizontal="true"
        android:padding="5dp"
        android:maxHeight="250dp"
        tools:ignore="RtlCompat" />

    <TextView
        android:id="@+id/detailtxt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/postimage"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="Details:"
        android:textSize="16sp"
        android:textStyle="bold"
        tools:ignore="RtlCompat" />

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试 LinearLayout作为具有wrap_content高度和宽度的父级,并为父级布局中的子视图提供一些特定的值,以使效果更好布局,如果没有没有用于特定数据的图像,那么您可以针对该使用默认图像,以使布局更好,更统一。