Включая фон, подлежащий нарисованию, мой макет в Android. Идеи почему?
-
18-09-2019 - |
Вопрос
Если я не включаю фон в макет корня, то все, как я ожидаю:
Alt Text http://dl.dropbox.com/u/299320/corct.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_height="fill_parent"
android:paddingRight ="20dip"
android:paddingLeft ="20dip"
android:gravity ="center_vertical"
android:background ="@drawable/main_background">
В буквальном смысле единственная разница между двумя вышеупомянутыми скриншотами - это включение android:background="@drawable/main_background"
. Анкет Я дам тебе печенье, если вы можете мне помочь :)
Решение
Что касается того, почему вы испытываете то, что вы есть на фоне, возможно, что ваше фоновое изображение каким -то образом попадает в гравитацию, но это просто предположение.
Как обходной путь, оберните все свое в FrameLayout
. Анкет Сделать первого ребенка FrameLayout
быть ImageView
со своим фоном. Сделать второго ребенка FrameLayout
Будьте вашим существующим LinearLayout
(Sans android:background
) атрибут. С FrameLayout
а также RelativeLayout
Разрешить укладку, это приведет к тому, что ваш линейный размер появится над изображением и должно дать вам визуальный эффект, который вы ищете.