8

画像のギャラリーを作成しましたが、すべて正常に動作します。画像のズームインと移動が必要です

ImgView.setScaleType (ImageView.ScaleType.MATRIX)

やってみると画像が小さいのでメソッドを呼び出しました

scaleFactor = view.getWidth()/(float)view.getDrawable().getIntrinsicWidth();
 matrix.setScale(scaleFactor, scaleFactor);

画像サイズを見逃さないでください。ただし、ご覧のとおり、画像はすべての上に浮かび上がり、画面の中央に留まる必要があります。

私はこれを試しました

matrix.postTranslate((screen_width-image_width)/2, (screen_height-image_height)/2);

しかし、動作しません。

何か案が?画像を挿入できないのは申し訳ありませんが、私の評判のため、できません。事前にどうもありがとうございました

4

2 に答える 2

15

OK、エラーを修正しました。次のコード行を追加する必要がありました。

RectF drawableRect = new RectF(0, 0, image_width, image_height);
RectF viewRect = new RectF(0, 0, screen_width, screen_height);
matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER);

うまくいけば誰かが助けてくれます、答えてくれてありがとう。

于 2013-01-22T11:29:30.367 に答える
4
@Override
public void onWindowFocusChanged(boolean hasFocus) {

    super.onWindowFocusChanged(hasFocus);

    screenWidth = layout.getWidth();
    screenHeight = layout.getHeight();

    Log.e("", "Image Width : " + imageWidth + " > " + imageHeight);
    Log.e("", "screen Width : " + screenWidth + " > " + screenHeight);

    RectF drawableRect = new RectF(0, 0, imageWidth, imageHeight);
    RectF viewRect = new RectF(0, 0, screenWidth, screenHeight);
    matrix.setRectToRect(drawableRect, viewRect, Matrix.ScaleToFit.CENTER);
    img.setImageMatrix(matrix);
}
于 2014-04-08T10:38:59.623 に答える