ユーザーが記事を読むことができる画面があります(上部に大きな写真があります。
その一般的な構造は次のとおりです。
LinearLayout -> ScrollView -> LinearLayout -> ImageViews,TextViews...etc
私が問題を抱えているImageViewは、上部の大きな画像です(記事のタイトルの下ですが、テキストの上にあります:
<ImageView
android:id="@+id/article_photo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/super_light_gray"
android:scaleType="centerCrop"
android:contentDescription="@string/articlePhoto"
android:cropToPadding="true"
android:layout_marginBottom="10dp"
android:padding="1dp"/>
問題は、写真が表示されますが、垂直方向にたくさんトリミングされているため、垂直方向の写真でも非常に細くて幅が広く表示されることです. 「wrap_content」は写真の高さ全体になるはずだと思いました...しかし、明らかに間違っています:)
写真を全幅(すでに機能しています)だけでなく、全高でも表示するにはどうすればよいですか?
UniversalImageLoader を使用して画像をロードしています。
if(lrgPhoto != null && !lrgPhoto.filepath.equals(""))
{
imageLoader.displayImage(
"http://img.mysite.com/processes/resize_android.php?image=" + lrgPhoto.filepath + "&size=640&quality=90",
imageView,
imgDisplayOptions
);
imageView.setVisibility(View.VISIBLE); //show photo
}
else
{
imageView.setVisibility(View.GONE); //hide photo
imageView.invalidate();
}
編集:
「scaleType」を「fitXY」に変更すると、画像はトリミングされずに正しい寸法を表示しますが、全幅ではありません。奇妙に全幅とトリミングされていない両方を持つ方法はありますか?
「クロップ」は、画像の元の高さを高さに使用しているためのようですが、画像を全幅に合わせて拡大しています...