2

要素の高さに関係なく、ImageView を RecyclerView の要素内の正方形として表示しようとしています。
ここに私が欲しいものがあります:
リサイクラー ビューの四角形の ImageView

ここに私のxmlがあります:

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

    <android.support.percent.PercentFrameLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        >
        <ImageView
            android:scaleType="centerCrop"
            app:layout_heightPercent="100%"
            app:layout_aspectRatio="100%"/>
    </android.support.percent.PercentFrameLayout>

    <!-- other views -->
</RelativeLayout>

そして、ここに私が持っているものがあります(ImageViewが消えました): 間違ったデザイン

(私の英語が下手でしたらすみません)

4

2 に答える 2

2

Percent レイアウトを階層の 1 段階上に移動する必要があります。

<android.support.percent.PercentRelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <ImageView
        android:scaleType="centerCrop"
        app:layout_heightPercent="100%"
        app:layout_aspectRatio="100%"/>

    <!-- other views -->
</android.support.percent.PercentRelativeLayout>

このアプローチは、他のビューの高さが設定されていることを前提としています-それらの高さが可変の場合、画像の高さも可変になります(layout_heightPercent="100%".

代わりに、画像を一貫して特定のサイズにしたい場合は、代わりに次のようなレイアウトが必要です

<android.support.percent.PercentRelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <ImageView
        android:scaleType="centerCrop"
        app:layout_widthPercent="20%"
        app:layout_aspectRatio="100%"/>

    <!-- other views -->
</android.support.percent.PercentRelativeLayout>

この場合、幅は合計幅の固定パーセンテージになり ( も使用できますlayout_width="@dimen/fixed_width")、高さはその幅に等しくなります。

于 2016-06-28T20:18:47.610 に答える