web-dev-qa-db-ja.com

android:画面に合わせて画像ビューで画像を拡大

同じ値が設定されたimageviewで高さと幅がfill_parentに設定されたlinearlayoutがあります。そのため、これで画面に合わせて画像を設定する必要があると思います。ただし、80%(ランドスケープモードの上部と下部のマージン)程度に収まります。

私は次のコードを試してみましたが成功しませんでした:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

imgView.setMinimumWidth(width);
imgView.setMinimumHeight(height);

imgView.setMaxWidth(width);
imgView.setMaxHeight(height);

他のアイデアはありますか?

121
Johan

imgview.setScaleType(ScaleType.FIT_XY);を使用します

300
Pinki

レイアウトのxmlファイルを指定しますAndroid:scaleType="fitXY"
PS:背景がデフォルトでビューに合わせて伸縮するように設定されているため、これはAndroid:src="..."ではなくAndroid:background="..."で画像が設定されている場合に適用されます。

116
Sen

これを使って:

ImageView.setAdjustViewBounds(true);
21
Lalit kumar

Android:scaleType="fitXY"を使用する場合は、指定する必要があります

Android:layout_width="75dp"およびAndroid:layout_height="75dp"

wrap_contentを使用する場合、必要なものまで伸びません

<ImageView
Android:layout_width="75dp"
Android:layout_height="75dp"
Android:id="@+id/listItemNoteImage"
Android:src="@drawable/MyImage"
Android:layout_alignParentTop="true"
Android:layout_alignParentStart="true"
Android:layout_marginStart="12dp"
Android:scaleType="fitXY"/>
8
Ozear

受け入れられた答えは完璧ですが、xmlからそれをしたい場合は、Android:scaleType="fitXY"を使用できます

XmlファイルでこのAndroid:scaleType="fitXY"コードを使用しました。

2
user6011162

imageViewの高さと幅をwrap_contentに変更して使用するだけです

exampleImage.setScaleType(ImageView.ScaleType.FIT_XY);

あなたのコードで。

0
Ankur Yadav