画像を ImageView に収め、アスペクト比を維持し、画像のサイズに合わせて ImageView のサイズを変更しますか? 質問する

画像を ImageView に収め、アスペクト比を維持し、画像のサイズに合わせて ImageView のサイズを変更しますか? 質問する

ランダムなサイズの画像を に合わせるにはどうすればよいでしょうかImageView?

  • 初期ImageView寸法は250dp * 250dpです
  • 画像の大きいサイズは250dpに拡大/縮小する必要があります
  • 画像はアスペクト比を維持する必要があります
  • 寸法ImageViewは拡大縮小後の画像のサイズと一致する必要があります

たとえば、100*150 の画像の場合、画像と はImageView166*250 である必要があります。
たとえば、150*100 の画像の場合、画像と はImageView250*166 である必要があります。

境界を次のように設定すると

<ImageView
    android:id="@+id/picture"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="20dp"
    android:adjustViewBounds="true" />

画像は に適切に収まりますImageViewが、 はImageView常に 250dp * 250dp になります。

ベストアンサー1

この特定の質問に対する答えではないかもしれませんが、私のように、maxWidthアスペクト比を維持しながら制限されたサイズ (たとえば) で ImageView に画像を収め、ImageView によって占有される余分なスペースを取り除く方法を探している場合、最も簡単な解決策は XML で次のプロパティを使用することです。

    android:scaleType="centerInside"
    android:adjustViewBounds="true"

おすすめ記事