0

Nicolas Tyler の投稿に基づいてカスタム ImageView を実装しました: https://stackoverflow.com/a/17649895/680488

それは本当にうまく機能しますが、1つの問題があります:

レイアウト内にカスタム ImageView があり、ImageView の下に別のレイアウトが 1 つあります。この 2 番目のレイアウトの表示は、ユーザーが切り替えることができます。これが発生するたびに、ImageView のサイズが変更されます (アクティビティ全体を埋めるため、または他のレイアウト用のスペースを作るため)。ここまでは順調ですね。問題は、このサイズ変更が発生すると、ImageView が imagematrix を「失った」ように見え、画像が元の状態で再び表示されることです (画像全体が画面に収まるようにズームアウトされます)。

サイズ変更前の最後の状態を維持したい (スクロール/ズームして同じ位置に戻す (またはそこにとどまる))。問題は、イメージビューのマトリックスを保存するのに最適な状況はいつで、いつ再適用するのですか? (onSizeChangedは遅すぎるようですよね?)

私はそれが十分に明確であることを願っています...?

編集:コメントで説明されているように実装した後、私は今、本当に奇妙な動作をしています:最初は見栄えがよく、imageViewは他のビューの可視性が変更される前と同じ状態にとどまります(または実際に戻ります)。ただし、ビューをタッチしてスクロールまたはズームすると、数ピクセル移動してからまったく別の位置にジャンプし、コントロールが機能しなくなります (スクロール/ズームできません)。サイズ変更後にタッチしながらマトリックス値を印刷しました:

OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, -1254.761, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0
OnTouch: 1.204599, 0.0, 0.0, 0.0, 1.204599, -107.23739, 0.0, 0.0, 1.0

そのため、TRANS_X はすぐにゼロにジャンプします。なぜこのようなことが起こる可能性があるのでしょうか?

乾杯、J

4

0 に答える 0