0

そのため、スクロールビュー内に画像を配置し、さまざまなサイズの画面に合わせて画像を拡大しようとしています。横には伸びますが、縦にはいつもぐちゃぐちゃになります。

私は似たような問題を抱えている人のページをたくさん読んできましたが、彼らの解決策は私にはうまくいきませんでした. 私は、さまざまなscaleType、 、layout_widthおよびを使用して、可能な限りすべての組み合わせlayout_heightを試し、他のものを変更してみました。私がそれを機能させるために得た最も近いものは、以下のコードに示されていますscaleType="centerCrop". 画像を垂直方向に比率で引き伸ばす唯一のものですが、画像の大きな部分を上下から切り取ります。画像を上下にスクロールしますが、中央部分のみが表示されます。

それが重要な場合、画像は 480x5500 jpeg です。あれこれいじり始める前は、アプリはスマートフォンで問題なく動作していましたが、後でタブレットで試してみると、画像がクランチしていることに気付きました。xmlでこれを行う方法があるはずですよね?Javaコード部分で画像を操作する必要はありません。また、1 つの画像だけを使用してこれを実行できるようにしたいと考えています。さまざまな画面サイズに別の画像を使用したくありません。助けてください、ありがとう。

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:scaleType="centerCrop"
        android:src="@drawable/paper" />
</ScrollView>    
4

3 に答える 3

0

これはあなたを助けるかもしれません、高さと幅wrap_contentの両方を作りますImageView

  android:layout_width="wrap_content"
  android:layout_height="wrap_content"

ここでは必要ありませんScrollView

于 2013-02-16T05:13:32.353 に答える
0

次のサンプルは、あなたが求める以上のものです:

hotoview.sample

画像を画面に合わせます。さらに、ピンチ ジェスチャを使用してズームイン/ズームアウトできます。

于 2013-02-16T21:31:21.147 に答える
0

ここに記載されている AspectRatioImageView のようなカスタム ImageView を使用してみてください。

https://stackoverflow.com/a/4688335/944070

于 2013-02-16T20:56:22.513 に答える