Мне нужно включить заголовок во все мои действия/представления. Файл с заголовком называется 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/drawable (но не в один из drawable-Xdpi
).
(* jpeg, потому что кажется, что я наткнулся на старую проблему png-гаммы - сначала я обошел проблему, сделав зеленую рамку такой же оранжевой, как на картинке, и цвета не совпадали.)
Я попробовал это на моем htc desire/2.2/Build 2.33.163.1 и на эмуляторе. Также я описал проблему кому-то в # android-dev; Она могла воспроизвести проблему, но также не имела объяснения. Цель сборки - 1.6.
update @tehgoose: этот код дает точно такой же результат + верх + низ.
<?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>