我需要在我所有的活动/视图中包含一个头文件,包含头文件的文件名为 header.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#0000FF"
android:padding="0dip">
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="0dip"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:padding="0dip"
android:paddingTop="0dip"
android:paddingBottom="0dip"
android:layout_gravity="fill"
android:background="#00FF00"
/>
</FrameLayout>
请注意 android:background="#00FF00"
(绿色) ,它只是可视化的目的。
我把它们纳入我的观点,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
style="@style/white_background">
<include layout="@layout/header" />
(...)
所以,当我真正尝试的时候,结果看起来像左图,而不是它应该看起来像(右图) :
(1)这个橙色部分是图像/ImageView
(2)不被喜爱的绿色边界。注意: 正常情况下,绿色区域是透明的-它只是绿色,因为我设置了 background
。
注意顶部图片周围的绿色边框; 它是 ImageView 的一部分,我不知道为什么它会在那里,也不知道如何去掉它。它将所有的填充和边距设置为0(但是省略它们的结果是一样的)。图像是一个480x64px 的 jpeg * ,我把它放在 res/draable 中(尽管没有放在 drawable-Xdpi
中)。
(* jpeg,因为看起来我偶然发现了古老的 png 伽马问题——起初我通过将绿色边框设置为与图片相同的橙色,并且颜色不匹配来解决这个问题。)
我在我的 htc 设计/2.2/Build 2.33.163.1和模拟器上尝试了它。此外,我在 # android-dev 中向某人描述了这个问题; 她可以重现这个问题,但也没有解释。建造目标是1.6。
Update@tehose: 此代码生成完全相同的顶部 + 底部填充结果。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
style="@style/white_background">
<!-- <include layout="@layout/header" /> -->
<ImageView
android:src="@drawable/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00FF00"
android:layout_weight="0"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dip"
android:layout_weight="1">
(... rest of the elements)
</LinearLayout>
</LinearLayout>