私のコードでは、イメージビューのデフォルトのイメージを設定したいと考えています。私の画像はすべて 174px X 174px です。だから、デフォルトの画像を同じサイズにしたい。これは、画像ビュー用の私のxmlです
//....code
<ImageView
android:id="@+id/ivCover"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:contentDescription="Default Image"
android:src="@drawable/default_cover" />
//....some other code
今、私の default_cover.jpg も 174px X 174px です。しかし、それはより小さな画像を示しています。私はすべてを試しました
android:scaleType="centerInside"
android:scaleType="center"
android:scaleType="matrix"
それらのほとんどが私にとって無意味であったとしても、それでも私はそれらすべてを試しましたが、どれも機能しませんでした. 次に、指定して画像の高さと幅を指定しました
android:layout_width="174px"
android:layout_height="174px"
(dpを使用する方がpxよりも優れていることはわかっていますが、この画像サイズは固定されており、テストしただけです)。だからそれは示しています
【デフォルト画像】
while を使用して外部 URL からロードされたとき
Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(url_source_for_image).getContent());
ivCover.setImageBitmap(bitmap);
希望の画像
[]
ここでは 2 つの写真に大きな違いはないかもしれませんが、私の Android デバイスでは違いがはっきりとわかります。そして、私が他の解決策を試していないとは言わないでください..これは、それ自体のリンクのリストです..
画像をImageViewに合わせ、縦横比を維持してから、ImageViewのサイズを画像のサイズに変更しますか?
ImageView 1 次元で空き領域に適合し、2 番目にアスペクト比を維持するために評価します
アスペクト比に合わせて ImageView のサイズを変更する