包括一个背景可绘制的 foobars 我在 Android 中的布局。想法为啥?
Posted
技术标签:
【中文标题】包括一个背景可绘制的 foobars 我在 Android 中的布局。想法为啥?【英文标题】:Including a background drawable foobars my layout in Android. Ideas why?包括一个背景可绘制的 foobars 我在 Android 中的布局。想法为什么? 【发布时间】:2010-12-13 18:22:33 【问题描述】:如果我的根布局中不包含背景,那么一切都会按我的预期呈现:
alt text http://dl.dropbox.com/u/299320/correct.png
但是,如果我只在背景中添加一行,那么布局就会完全混乱:
alt text 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_
android:paddingRight ="20dip"
android:paddingLeft ="20dip"
android:gravity ="center_vertical"
android:background ="@drawable/main_background">
从字面上看,上述两个屏幕截图之间的唯一区别是包含android:background="@drawable/main_background"
。如果你能在这里帮助我,我会给你一个 cookie :)
【问题讨论】:
对我来说,似乎在运行时它们看起来是正确的。仅在设计器中布局看起来很糟糕。 【参考方案1】:至于为什么你会在背景中体验到你现在的样子,可能是你的背景图像不知何故被重力所吸引,但这只是一个猜测。
作为一种解决方法,请将您的整个内容包含在 FrameLayout
中。使FrameLayout
的第一个孩子成为具有您背景的ImageView
。使 FrameLayout
的第二个子项成为您现有的 LinearLayout
(sans android:background
) 属性。由于FrameLayout
和RelativeLayout
允许堆叠,这将导致您的LinearLayout 出现在图像上方,并应为您提供所需的视觉效果。
【讨论】:
伙计,这很烦人。我希望我能知道为什么我正在做的事情不起作用。不过,您的解决方案有效,谢谢。 我遇到了类似的问题,花了几个小时想知道为什么。从来不知道背景图片为什么会这样。以上是关于包括一个背景可绘制的 foobars 我在 Android 中的布局。想法为啥?的主要内容,如果未能解决你的问题,请参考以下文章