2

[ImageViewTouch][1]imageview の代わりにライブラリを使用して画像をズームしています。

<it.sephiroth.android.library.imagezoom.ImageViewTouch
           android:id="@+id/imageweb"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
            android:adjustViewBounds="true"
           android:background="@drawable/bg_loading"
           android:scaleType="fitCenter" />

ImageViewTouch コントロールに画像をロードしたいのですが、画像の幅が画面に自動的に収まります。幅と高さの両方をモバイル画面に合わせるにはどうすればよいですか?

ここで 3 回ダブルタップすると、1 回目は 2 回目もズームインされますが、3 回目はデバイス画面の高さと幅に完全に収まります。

しかし、最初は高さと幅に合わせてロードされていません。この問題を解決するのを手伝ってください。

私はこのライブラリクラスを使用しました。ここで何かを変更する必要があるかもしれません。

1) [first][2]
2) [second][3] 

スクリーンショットを確認してください:

初めて自動的にロードされるとき: ここに画像の説明を入力

3回ダブルタップした後、ここでは1回目と2回目のズーム、3回目は完全にフィットします。これは、imageviewがこの画像をロードしたときに最初にフィットしなかった理由です。

ここに画像の説明を入力

私はすでに以下の回答を試しましたが、うまくいきません。

サポートありがとうございます

4

6 に答える 6

4

it.sephirot.android.library.imagezoom.ImageViewTouchBase行の変更で

protected DisplayType mScaleType = DisplayType.FIT_IF_BIGGER;

protected DisplayType mScaleType = DisplayType.FIT_TO_SCREEN;
于 2015-04-27T13:51:52.270 に答える
3

同じ問題がありました。成功せずにいくつかの回避策を試した後、最終的にこのライブラリに切り替えることで解決しました: https://github.com/MikeOrtiz/TouchImageView

于 2014-08-04T20:15:17.803 に答える
0

サンプルアプリから取得:

<it.sephiroth.android.library.imagezoom.ImageViewTouch
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:scaleType="fitCenter" />
于 2013-05-02T15:08:02.983 に答える
0

xml のスケール タイプは機能しません。ライブラリを使用する必要があります。縮尺タイプはこのクラスで設定されています。縮尺タイプを変更してください。it.sephiroth.android.library.imagezoom.ImageViewTouch

setScaleType(ScaleType.MATRIX); このクラスでは、これを次のように変更できますsetScaleType(ScaleType.FIT_XY);

于 2015-01-30T11:01:14.807 に答える
0
<it.sephiroth.android.library.imagezoom.ImageViewTouch
    android:id="@+id/image"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:scaleType="fitXY" />

fitXY は xy 座標に合っていると思います

于 2013-05-03T07:57:32.287 に答える