web-dev-qa-db-ja.com

Android ImageView Fixing Image Size

Androidアプリケーションがあり、ImageViewがあり、サイズを一定に保つ必要があります。このImageViewに入れる必要があるさまざまな画像があります。サイズ。

すべての画像がImageViewに収まるようにする必要があります。画像が小さい場合はサイズを大きくし、大きい場合は縮小する必要があります。

お時間をいただきありがとうございます。

39
Shalabh

ImageViewのサイズをdpまたはfill_parentで修正し、Android:scaleTypefitXYに設定します。

71
Youngsik Oh

あなたの場合、あなたはする必要があります

  1. ImageViewのサイズを修正します。すべてのデバイスで同じように見えるように、dpユニットを使用する必要があります。
  2. Android:scaleTypefitXYに設定します

以下に例を示します。

<ImageView
    Android:id="@+id/photo"
    Android:layout_width="200dp"
    Android:layout_height="100dp"
    Android:src="@drawable/iclauncher" 
    Android:scaleType="fitXY"/>

ImageView scaleTypeの詳細については、 開発者Webサイト を参照してください。

42
Lazy Ninja

これを試して

ImageView img
    Bitmap bmp;
    int width=100;
    int height=100;
    img=(ImageView)findViewById(R.id.imgView);
    bmp=BitmapFactory.decodeResource(getResources(),R.drawable.image);//image is your image                                                            
    bmp=Bitmap.createScaledBitmap(bmp, width,height, true);
    img.setImageBitmap(bmp);

または完全な画像サイズをメモリにロードする場合は、次を使用できます。

<ImageView
    Android:id="@+id/img"
    Android:layout_width="100dp"
    Android:layout_height="100dp"
    Android:src="@drawable/image" 
    Android:scaleType="fitXY"/>
16
Atul Bhardwaj

また、これを試すこともできます。背面画像ボタンを作成する場合、「500x500 png」があり、小さなボタンサイズに収まるようにする必要があるとします。

Dpを使用して、ImageViewのサイズを修正します。

このコード行をImageviewに追加します。

Android:scaleType = "fitXY"

例:

<ImageView
        Android:layout_width="50dp"
        Android:layout_height="50dp"
        Android:id="@+id/imageView2"
        Android:src="@drawable/Backicon"
        Android:scaleType="fitXY"
        />
7
Nikhil jassal

@Youngsik Ohが答えを示したのに加えて、下のリンクはあなたが達成したいものに役立ちます。

大きな画像によってOutOfMemoryエラーが発生する場合があります。提供されたリンクでは、アセットフォルダーから画像を取得しています。必要に応じて変更できます。それが役に立てば幸い。

Android:問題の画像解像度

2
Braj