Incluindo um ponte de fundo traçado meu layout no Android. Ideias Por quê?
-
18-09-2019 - |
Pergunta
Se eu não incluir um plano de fundo no layout da minha raiz, tudo se renderiza como espero:
TEXTO DE ALT HTTP://dl.dropbox.com/u/299320/Correct.png
No entanto, se eu adicionar apenas uma linha adicionando um plano de fundo, o layout ficará completamente errado:
TEXTO DE ALT HTTP://dl.dropbox.com/u/299320/foobared.png
O bit relevante do layout 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">
Literalmente, a única diferença entre as duas capturas de tela acima é a inclusão de android:background="@drawable/main_background"
. Vou te dar um biscoito se você puder me ajudar aqui :)
Solução
Quanto ao motivo pelo qual você está experimentando o que é com o fundo, pode ser que sua imagem de fundo de alguma forma seja pega na gravidade, mas isso é apenas um palpite.
Como solução alternativa, envolva toda a sua coisa em um FrameLayout
. Faça o primeiro filho do FrameLayout
feijão ImageView
com seu fundo. Fazer o segundo filho do FrameLayout
seja seu existente LinearLayout
(Sans android:background
) atributo. Desde FrameLayout
e RelativeLayout
Permita o empilhamento, isso fará com que seu linearlayout apareça acima da imagem e deve lhe dar o efeito visual que você procura.