【问题标题】:Method to allow a single child view to overflow the viewgroup bounds?允许单个子视图溢出视图组边界的方法?
【发布时间】:2011-12-23 04:42:27
【问题描述】:

以下屏幕截图说明了我现在拥有的一个简单示例:

我想要实现的是,所选(蓝色)视图不会在红色容器的边界处被剪裁。我的第一次尝试是 clipChildren="false",它会导致蓝色视图扩展到 边界之外,填充红色区域。我只想看看覆盖绿色区域的部分。

【问题讨论】:

  • 贴出你试过的xml。

标签: android layout views clipping


【解决方案1】:

我认为您必须将蓝色浮在红色和绿色之上。您不能在其父 ViewGroup (AFAIK) 之外拥有孩子。您需要重新设计布局。

不过,得到你想要的东西应该很容易。我不使用图形设计器,所以需要 XML。

FrameLayout 内部带有 LinearLayout 以显示红色/绿色,然后在第一个 LinearyLayout 之后(在 FrameLayout 内部)显示另一个线性或相对。使用 LinearLayout,我会向右对齐,并给蓝色元素一些填充。

使用RelativeLayout也许可以做到这一切,但我倾向于远离它。

【讨论】:

  • 这是我最终做的,它是动画的一部分,所以有点棘手,但我暂时将视图移动到与屏幕相同大小的 FrameLayout,然后将其移回。跨度>
【解决方案2】:

基本上您正在寻找的是重叠视图。这可以通过FrameLayout 完成。有关如何执行此操作的信息,请查看this example

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    相关资源
    最近更新 更多