0

我有两个ImageView项目FrameLayoutimageView1imageView2imageView1可见,并且imageView2在活动开始时位于屏幕外。然后我FrameLayout使用一些用户事件旋转,RotateAnimation因此imageView2应该变得可见并且imageView1应该离开屏幕。但imageView2仍然不可见。有谁知道是什么原因?

代码太大太复杂,无法在此处显示。但是,正如我已经弄清楚使用setImageMatrix函数和特殊行为来翻译和旋转图像的主要问题FrameLayoutor ImageView,如果图像超出其范围,则会裁剪图像。

4

2 回答 2

2

如果我正确理解了你的情况,那么你就错了。FrameLayout 将其子项放在堆栈中,而不是并排放置。所以它们不会被渲染到屏幕外,imageView2 就在 imageView1 的后面。为了展示它,你应该把它放在前面。

我建议您查看 ViewSwitcher/ViewAnimator 布局。我认为它们会满足您的需求。

于 2012-09-20T15:02:10.270 回答
0

我已经解决了我的问题。我刚刚将高度LayoutParamsFrameLayout“fill_parent”更改为精确高度,这允许将所有ImageView's 保留在FrameLayout.

于 2012-09-21T10:09:24.367 回答