【发布时间】:2012-05-03 13:27:49
【问题描述】:
这是一个关于 Android 布局的问题。这是我急切想要得到的:
深灰色是一种线性布局。橙色是布局 X,然后绿色是 FrameLayout。我需要将 Green 放在其父级 - 布局 X 之外。所描述的布局层次结构无法更改。唯一的选择是布局 X - 它可以是任何你想要的。
有什么想法吗?
【问题讨论】:
-
我不想这么说,但我能想到的唯一方法是使用 FrameLayout 来包装所有内容,将深灰色和橙色放在线性布局中,然后将绿色布局放在其他布局上.这与您的“无法更改所描述的布局层次结构”相冲突。只是出于好奇,为什么不能呢?
-
我认为您可以为边距指定负值。你试过吗?我认为它适用于可以重叠的布局(例如,画布上的两个对象)。我不在任何编辑附近,否则我会自己尝试。如果您的整个布局是画布,我肯定知道您可能会有重叠,但我不确定您的情况。
-
@Barak:它基本上是一个表格(表格行在图片上),在某些情况下,我需要将单个单元格移到其正常位置之外,所以 Table/TableRow 布局是我唯一可以使用的。
-
@Gophermofur:已经试过了,还是不行。子视图要么被裁剪,要么填充整个父视图(取决于父视图的 android:clipChildren)
-
是的,我想会是这样。不幸的是,看起来绿色部分需要成为父容器(深灰色)的一部分,但 LinearLayout 无法满足您的需求。