【发布时间】:2011-12-23 04:42:27
【问题描述】:
以下屏幕截图说明了我现在拥有的一个简单示例:
我想要实现的是,所选(蓝色)视图不会在红色容器的边界处被剪裁。我的第一次尝试是 clipChildren="false",它会导致蓝色视图扩展到 其 边界之外,填充红色区域。我只想看看覆盖绿色区域的部分。
【问题讨论】:
-
贴出你试过的xml。
标签: android layout views clipping
以下屏幕截图说明了我现在拥有的一个简单示例:
我想要实现的是,所选(蓝色)视图不会在红色容器的边界处被剪裁。我的第一次尝试是 clipChildren="false",它会导致蓝色视图扩展到 其 边界之外,填充红色区域。我只想看看覆盖绿色区域的部分。
【问题讨论】:
标签: android layout views clipping
我认为您必须将蓝色浮在红色和绿色之上。您不能在其父 ViewGroup (AFAIK) 之外拥有孩子。您需要重新设计布局。
不过,得到你想要的东西应该很容易。我不使用图形设计器,所以需要 XML。
FrameLayout 内部带有 LinearLayout 以显示红色/绿色,然后在第一个 LinearyLayout 之后(在 FrameLayout 内部)显示另一个线性或相对。使用 LinearLayout,我会向右对齐,并给蓝色元素一些填充。
使用RelativeLayout也许可以做到这一切,但我倾向于远离它。
【讨论】:
基本上您正在寻找的是重叠视图。这可以通过FrameLayout 完成。有关如何执行此操作的信息,请查看this example。
【讨论】: