Включая фон, подлежащий нарисованию, мой макет в Android. Идеи почему?

StackOverflow https://stackoverflow.com/questions/1686303

Вопрос

Если я не включаю фон в макет корня, то все, как я ожидаю:

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 Разрешить укладку, это приведет к тому, что ваш линейный размер появится над изображением и должно дать вам визуальный эффект, который вы ищете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top