【问题标题】:ImageView is not visibleImageView 不可见
【发布时间】:2012-09-20 14:39:17
【问题描述】:

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

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

【问题讨论】:

  • 布局 xml 文件也会很有帮助。 LinearLayout 是你的朋友。

标签: android android-imageview rotateanimation


【解决方案1】:

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

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

【讨论】:

  • 您需要从这些布局中调用 showNext()、showPrevious()。如果你能提供你的 xml 布局,我会容易得多
【解决方案2】:

我已经解决了我的问题。我刚刚将FrameLayoutLayoutParams 中的高度从“fill_parent”更改为精确高度,这样可以将所有ImageView 保留在FrameLayout 中。

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 2018-03-27
    • 2013-05-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多