よく尋ねられますが、答えたことはありません (少なくとも再現可能な方法ではありません)。
ビューよりも小さい画像を含む画像ビューがあります。画像を画面の幅に合わせて拡大縮小し、ImageView の高さを調整して、画像の比例して正しい高さを反映させたいと考えています。
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
これにより、イメージは元のサイズ (画面の幅よりも小さい) で中央に配置され、左右に余白ができます。ダメ。
だから私は追加しました
android:adjustViewBounds="true"
同じ効果、ダメ。追加した
android:scaleType="centerInside"
同じ効果、ダメ。に変更centerInside
しましたfitCenter
。同じ効果、ダメ。に変更centerInside
しましたcenterCrop
。
android:scaleType="centerCrop"
最後に、画像は画面の幅に合わせて拡大/縮小されますが、上下がトリミングされます! だから私はに変更centerCrop
しましたfitXY
。
android:scaleType="fitXY"
現在、画像は画面の幅に合わせてスケーリングされていますが、y 軸ではスケーリングされていないため、画像が歪んでいます。
削除android:adjustViewBounds="true"
しても効果はありません。android:layout_gravity
他の場所で提案されているように、を追加しても効果はありません。
私は他の組み合わせを試しましたが、役に立ちませんでした。だから、誰か知っていますか:
ImageView の XML をどのように設定して、画面の幅を埋め、小さな画像をスケーリングしてビュー全体を埋め、歪みやトリミングなしで画像を縦横比で表示しますか?
編集:私も任意の数値の高さを設定しようとしました。これは設定にのみ影響しcenterCrop
ます。ビューの高さに応じて、画像が垂直方向に歪みます。