2

我有以下视图层次结构:

<FrameLayout>
   <LinearLayout>
       <!-- Some Child views-->
   </LinearLayout>
   <ImageView>
   </ImageView>
</FrameLayout>

我试图ImageView在布局编辑器上设置它的下边距,它似乎正在工作,但是当我运行代码时,我设置的下边距被丢弃了。

重要说明:我还定义margin topImageView它,它确实有效。

我看到了其他问题,并且我已经尝试gravityFrameLayout子视图设置为,top但这也不起作用。

我还看到此问题已针对 Android > 3.0(我在 4 上运行)解决 -链接到该问题

4

1 回答 1

1

您总是可以将您的包装ImageView成 a并从包装器的底部填充FrameLayout设置所需的底部边距:ImageViewFrameLayout

<FrameLayout>
   <LinearLayout>
       <!-- Some Child views-->
   </LinearLayout>
   <FrameLayout // same attributes as the ImageView but with also android:paddingBottom="xxdp">
       <ImageView // no margin set here!>
       </ImageView>
   </FrameLayout>
</FrameLayout>

如果你说这个行为是从 Honeycomb 开始修复的,那么你可以使用 API 相关的布局文件夹、我的 Honeycomb 下面的布局和任何其他 API 级别的布局。

于 2013-03-11T14:06:59.837 回答