14

<img width="100%" />Android用のようなものが必要です<ImageView>。つまり、幅を使用可能なすべてのスペースにサイズ変更し(画像の幅を縮小または拡大)、アスペクト比を維持するために高さを自動的に変更します。

Something like <ImageView android:layout_width="match_parent" android:layout_height="auto">

必要な画像でdoを使用android:scaleType="fitCenter"しますが、画像でのみ、ビュー自体の高さは変更されません。ブースの寸法をmatch_parentに設定すると、必要なものが得られますが、画面に画像が1つしかない場合に限ります。しかし、私は画像の下にいくつかのテキストが必要です。

ImageViewの子を作成する唯一の方法ですか?たとえばandroid:adjustViewBounds="true"、私には何もしません。

4

1 に答える 1

18

どこに問題があるのか​​わかりました。ImageViewのデフォルトの実装では、画像を拡大できません。画像が画面の幅よりも大きい場合android:adjustViewBounds = "true"は正しく機能し、画像のアスペクト比を維持するように高さを調整します。ただし、画像が画面幅よりも小さい場合は、拡大されません。

これはこのコードが原因です

if (newHeight <= heightSize) {
    heightSize = newHeight;
} 

ImageViewクラス(688行目、API 10)

画像を幅に合わせて拡大できるImageViewの特別な子を作成しました。

ここにあります:https ://gist.github.com/tprochazka/5486822

于 2011-06-06T16:57:59.693 に答える