0

imageView1imageView2の2つのImageViewアイテムがありFrameLayoutます。アクティビティの開始時に、 imageView1が表示され、imageView2が画面の外に配置されます。次に、を使用してユーザーイベントを回転し、imageView2表示され、imageView1が画面から消えるようにします。ただし、imageView2は引き続き非表示のままです。誰かが理由を知っていますか?FrameLayoutRotateAnimation

コードが大きすぎて複雑すぎて、ここに表示できません。しかし、 setImageMatrix関数を使用して画像を変換および回転する際の主な問題と、FrameLayoutまたはの特殊な動作を理解したImageViewので、範囲外の場合は画像をトリミングします。

4

2 に答える 2

2

私があなたの状況を正しく理解していれば、あなたは間違っています。FrameLayout は、子を横に並べるのではなく、スタックに配置します。したがって、それらは画面外にレンダリングされず、imageView2 は imageView1 のすぐ後ろにあります。そしてそれを見せるには、それを前面に持ってくる必要があります。

ViewSwitcher/ViewAnimator レイアウトを確認することをお勧めします。あなたのニーズに合うと思います。

于 2012-09-20T15:02:10.270 に答える
0

問題を解決しました。の高さを「fill_parent」から正確な高さに変更しました。これにより、すべてを にLayoutParams保持できます。FrameLayoutImageViewFrameLayout

于 2012-09-21T10:09:24.367 に答える