4

ここにいる他の多くのユーザーと同様に、私はhttps://github.com/MikeOrtiz/TouchImageViewで入手できる TouchImageView クラスを使用しています。

私のアプリでは、TouchImageView オブジェクトに設定したサービスからの画像ファイルを読み込んでいます。画像をズームインしてパンできるので、これはうまく機能します。ただし、ボタンの 1 つをクリックして次または前の画像に移動すると、次の画像が表示される前に画像が標準ズームに戻ります。これが最初の問題です。

TouchImageView オブジェクトは、別のコンポーネントが更新されるたびに、最初のズーム レベルに戻ります。EditText で次のコード行を呼び出すだけで、ズームがリセットされます。

imagePageNumber.setText(imagePageNumber.getText());

これを回避するために、現在のズーム レベル情報が失われる前に保存し、画像が読み込まれた後に再度適用しようとしました。既存の onScale メソッドのスケーリング動作を基本的に模倣する setZoom(float mScaleFactor) というメソッドを TouchImageView に記述しました。imageView.setImageBitmap(bm) で画像を更新した後に直接呼び出すと、画像はスケーリングされません。ただし、ボタンにクリックリスナーがあり、画像が読み込まれた後に拡大縮小しようとすると、拡大縮小は以前に保存した値に正しく更新されます。画像の読み込み方法にスレッドの問題がある可能性があり、setImageBitmap が呼び出された後すぐにズームできないと想定しています。

ある画像の読み込みから別の画像の読み込みまでスケールを維持する方法を知っている人はいますか?

4

1 に答える 1