2

如果我的根布局中不包含背景,那么一切都会按我的预期呈现:

替代文字 http://dl.dropbox.com/u/299320/correct.png

但是,如果我只在背景中添加一行,那么布局就会完全混乱:

替代文字 http://dl.dropbox.com/u/299320/foobared.png

XML 布局的相关位是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width ="fill_parent"
    android:layout_height="fill_parent"
    android:paddingRight ="20dip" 
    android:paddingLeft  ="20dip"
    android:gravity      ="center_vertical"
    android:background   ="@drawable/main_background">

从字面上看,上述两个屏幕截图之间的唯一区别是包含android:background="@drawable/main_background". 如果你能在这里帮助我,我会给你一块饼干:)

4

1 回答 1

4

至于为什么你会体验到你的背景,可能是你的背景图像不知何故被重力所吸引,但这只是一个猜测。

作为一种解决方法,将你的整个东西包装在一个FrameLayout. 使第一个孩子FrameLayout成为ImageView您的背景。使第二个孩子FrameLayout成为您现有的LinearLayout(sans android:background) 属性。由于FrameLayoutRelativeLayout允许堆叠,这将导致您的 LinearLayout 出现在图像上方,并且应该为您提供您所寻求的视觉效果。

于 2009-11-06T12:11:43.537 回答