0

Web からダウンロードしている画像を設定しようとしています。これを行うのに役立つライブラリを使用しています。問題は、画面に合わせて縦横比を維持するために画像のサイズを変更する必要があることです。高さは正常に機能しているようですが、アスペクト比を維持しながらビットマップの幅をデバイスの幅全体に合わせたいと考えています。しかし、それは機能しておらず、画像は両側で短くカットされています...

  <ImageView
    android:id="@+id/imageView"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/_height" />

コード:

DisplayMetrics metrics = getResources().getDisplayMetrics();
mWidth = metrics.widthPixels;
mHieght = (int) getResources().getDimension(R.dimen._height);
Ion.with(imageView).resize(mWidth, mHieght).load(url)

ここに画像の説明を入力

編集:これはandroid:scaleType="centerCrop"

ここに画像の説明を入力

4

3 に答える 3

0

ImageViewスケールタイプの特徴があります。ImageView.ScaleTypeを確認してください。私はあなたが探しているものだと思いcenterInsideます。fitCenter

アップデート

申し訳ありませんが、最初は高さが固定されていることに気づきませんでした。centerCrop答えになるはずです。

于 2014-06-01T09:16:34.410 に答える
0

画像の最大サイズがわかっている場合は、レイアウトの幅を画像セットの最大幅に設定してから、すべてを中央に配置できます。これは私のために働いた:

<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">

<RelativeLayout
    android:layout_width="1920px"
    android:layout_height="fill_parent"
    android:layout_gravity="center">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageView"
        android:background="@drawable/your_image" />
</RelativeLayout>
</FrameLayout>

1920px は画像セットの最大幅です。結果は許容範囲内です。編集: 画像は完全に中央に配置されています。

于 2014-06-01T10:00:12.193 に答える