具有不同尺寸图像的回收者视图显示项目

时间:2018-06-20 03:07:23

标签: android android-layout android-recyclerview

我正在使用回收站视图显示项目,我的项目包括图像和文本。即时通讯使用StaggeredGridLayoutManager来显示。

我的布局的一部分:

 <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
            <android.support.v7.widget.CardView
                android:id="@+id/cvExhibit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                xmlns:cardview="http://schemas.android.com/apk/res-auto"
                cardview:cardCornerRadius="@dimen/cardview_corner_radius"
                cardview:cardUseCompatPadding="true"
                >
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">
                    <ImageView
                        android:id="@+id/imgExhibit"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:scaleType="fitXY"

                        />
                </LinearLayout>

            </android.support.v7.widget.CardView>

            <ProgressBar
                android:id="@+id/pbItemMainScreen"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:elevation="2dp"
                android:visibility="visible"
                android:indeterminateTint="@color/colorBlueLight"
                android:indeterminateTintMode="src_in"
                />

        </RelativeLayout>

结果: result1

我不适合将图像的宽度和高度都放大,但是结果如下: result2

,这里是result2的代码:

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <android.support.v7.widget.CardView
                android:id="@+id/cvExhibit"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                xmlns:cardview="http://schemas.android.com/apk/res-auto"
                cardview:cardCornerRadius="@dimen/cardview_corner_radius"
                >
                <ImageView
                    android:id="@+id/imgExhibit"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY"

                    />
            </android.support.v7.widget.CardView>

            <ProgressBar
                android:id="@+id/pbItemMainScreen"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:elevation="2dp"
                android:visibility="visible"
                android:indeterminateTint="@color/colorBlueLight"
                android:indeterminateTintMode="src_in"
                />

        </RelativeLayout>

如何使图像按宽度合适,然后使高度按图像尺寸自动合适?像这样:

My dream result

1 个答案:

答案 0 :(得分:0)

请尝试这个

<ImageView
    android:id="@id/imgExhibit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitCenter" />