そのため、Webサービスから画像を読み込んでいますが、画像のサイズが他の画像よりも小さい場合や大きい場合があり、AndroidのListViewに配置すると視覚化が馬鹿げて見えます。 ImageViewのサイズを修正して、事前に設定した量よりも大きい場合にのみ画像の一部が表示されるようにします。私は、setMaxWidth/setMaxHeightを設定し、スケールタイプをcenterCropに設定し、ClipableDrawableを使用してBitmapDrawableをラップし、Drawable.setBounds()を使用して設定することについて考えることができるすべてを試しました。 XMLで設定してプログラムで設定しようとしましたが、どちらも機能しませんでした。最大幅/高さの設定が何もしなかったことに非常に驚いた。以下は、レイアウトファイルでImageView定義を使用しているXMLです。
<ImageView Android:id="@+id/recipeImage"
Android:maxHeight="64px"
Android:maxWidth="64px"
Android:scaleType="centerCrop"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_alignParentTop="true"
Android:layout_alignParentBottom="true"
Android:layout_marginRight="6dip"/>
しかし、何も機能していません。
maxHeight
属性とmaxWidth
属性を削除し、layout_width
とlayout_height
に適切に単位を入力するだけです。ただし、px
ユニットは使用しないでください。デバイスに依存しないため、代わりにdp
を使用してください。
これにより、画像のサイズに関係なく、指定した高さと幅に画像が収まります。
<ImageView
Android:id="@+id/image5"
Android:layout_width="300dp"
Android:layout_height="200dp"
Android:src="@drawable/image_1"
Android:scaleType="fitXY"/>
Get ImageVIews as facebook posts.
Glide.with(context).load(link)
.placeholder(R.drawable.aboutlogo)
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);`
<ImageView
Android:id="@+id/img1"
Android:src="@drawable/ic_menu_camera"
Android:adjustViewBounds="true"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:scaleType="center"/>