Ver mensagens sem resposta | Ver tópicos ativos Hoje é 26 Jan 2020, 11:17



Responder Tópico  [ 4 Mensagens ] 
 Erro ao montar RelativeLayout 
Autor Mensagem
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Erro ao montar RelativeLayout
Olá pessoal.
Estou com o seguinte problema, tenho uma tela, que possui 4 componentes e eu quero deixa-los um do lado do outro.
Tentei fazer usando LinearLayout mas não consegui, um componente sempre acaba ficando sobre o outro, então resolvi utilizar o RelativeLayout, mas mesmo assim não consegui fazer a tela.

Hoje estou com o seguinte XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    android:orientation="horizontal"
    android:padding="5dip" >


    <RelativeLayout
        android:id="@+id/layoutEsquerda"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentLeft="true" >


        <ImageButton
            android:id="@+id/btnRemover"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:background="@android:color/transparent"
            android:src="@drawable/menos" />


        <EditText
            android:id="@+id/txtNomeCriterio"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/spnEscolha"
            android:layout_toRightOf="@+id/btnRemover"
            android:background="@drawable/fundo_texto" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/layoutEsquerda"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft ="true"
        android:orientation="horizontal">


        <Spinner
            android:id="@+id/spnEscolha"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/btnAdicionar"
            android:layout_toRightOf="@+id/layoutEsquerda"
            android:background="@drawable/btao_cinza"
            android:drawSelectorOnTop="true" />


        <ImageButton
            android:id="@+id/btnAdicionar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@android:color/transparent"
            android:src="@drawable/setaamarela" />

    </RelativeLayout>

</RelativeLayout>


Se eu tirar o segundo RelativeLayout ele me mostra normalmente o button juntamente com o EditText, agora se eu coloco o segundo RelativeLayout ele já fica sobre o primeiro.
Alguém saberia me dizer o porque?
Já estou ficando cabreiro de tentar entender esses layouts do Android... hahahaha

Agradeço desde já pela ajuda!


09 Jan 2013, 19:37
Perfil
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: Erro ao montar RelativeLayout
É importante você estudar cada layout básico desse. Tipo: Linear... o nome diz que ele é linear... se você colocar seu layout de fundo com LinearLayout e sua orientation como horizontal... qualquer view que você colocar dentro desse layout de fundo vai ficar um do lado do outro... você pode separá-los usando o atributo margin_left ou right e até mesmo weight. RelativeLayout como o nome diz é relativo... uma view depende da outra... se você não especificar vai ficar uma em cima da outra mesmo. Esse acho mais complexo de lidar, mas você acha muita coisa no forum e no net também. Vlw.

_________________
Powell


10 Jan 2013, 10:37
Perfil
Android application
Android application

Data de registro: 24 Out 2012, 14:41
Mensagens: 80
Mensagem Re: Erro ao montar RelativeLayout
Então, eu estou com problema em entender esse RelativeLayout.
O engraçado é essa questão deles ficarem um sobre o outro.
Se você ver a tela que postei acima, ele funciona bem para o primeiro linear layout, só que ao colocar o segundo ele já bagunça tudo.

Por exemplo, estou montando outro layout aqui:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >


    <EditText
        android:id="@+id/txtDescricaoCategoria"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" />


    <ImageButton
        android:id="@+id/btnAdicionar"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/setaamarela"
        android:layout_toRightOf="@+id/txtDescricaoCategoria"
        android:background="@android:color/transparent"/>

</RelativeLayout>


Se eu deixar desse jeito, o EditText fica sobre o ImageButton, agora, se eu definir o width do EditText para 250dp o EditText não fica sobre o ImageButton. O problema é que se eu deitar o celular o tamanho do EditText não vai mudar.
É isso que eu não consigo entender. Eu já defini que o ImageButton vai ficar ao lado do EditText, não sei porque acontece isso.


11 Jan 2013, 11:51
Perfil
Application Life Cycle
Application Life Cycle

Data de registro: 24 Ago 2011, 12:04
Mensagens: 289
Localização: São Paulo
Mensagem Re: Erro ao montar RelativeLayout
Para o caso que você especificou no primeiro post, você pode usar um TableLayout.

Já no seguinte, não entendi o pq da dúvida relativo ao tamanho do edittext permanecer estatico ao girar o dispositivo. Se você atribuiu um tamanho fixo ao componente, ele vai manter esse tamanho.

_________________
André Ikeda
Mobile Lead Developer
Aplicativos:
99Motos - Cliente


28 Jan 2013, 20:22
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 4 Mensagens ] 

Quem está online

Usuários vendo este fórum: (_FM_), Adeja, albinoneto, Alessandro Tavares, alexandrepom, aluclinux, am2net, amarildolacerdas, americano, andre.hebeler, andreluzz, andrigo, Antonio Carlos, arkanjo, Augusto, augustomig, Beru Lars, Bitetti, boydivalor, Bravox, bravus, brpiassa, brunomalka, BTalhadas, caliow, Carlos Almeida, celiapinheiro, Chassot, claudioalfonso, cleiton_maciel, Comandante Cody, czambroni, d.paim, dalmeidabr, danielbfranco, Danilo Dias, danilosouza, Darth Plagueis, dchechetto, Deiapinh, Delão, digiwise, dirceuconte, edervieira, edson dias de gusmao, Eduardo, edwarvelarde, Eneias, epsilva, estratecnologia, felipedornelas, flashking, gapler, geovanebg, Geovanne Duarte, glmsistemas, Gooooogle, hbarroco, icarodavi, Igor_M, IgorBrum, ismaels, jacard, jackstuard, Jango Fett, jcorreajr, jeanbr07, jgfelix, jhou, joaquimfoto, José Guilherme, Juliobcosta, klausenner, laurj, Liviosousa, lucianoedipo, luiz.lago, luizcesar, malucouto, Marcelo, Marcelo Alves, marcosf63, mendes_lu, Michel, Moisés Souto, msmdark, nivaldo, nobrejack, onedroid, pamonteiro, Patricia, Patrick, pedro, pgbatera, pjorge, Qui-Gon Jinn, rafael.winter, rafsantos, ramonsa, ramonsiebra, reginaldofdias, renanpl, Rickxdx, rmendes, rogeriopgomes, romuloff, romuloigor, rotmeil, sasuke_sarutobi, scattonevi, schiroky, ScoobyGB, SERGIO RODRIGUES, SirBagda, sjta, srsilveira, taluna, tavares767, thanaptos, Thiago, thiago@xbrain.com.br, tnarnold, Toks, tonical, ubiratan, vicfalmac, vilmartr, viniciusllima, wagner_francisco, wcaciano, Wendel Carvalho, weverton, Wryel, Yoshihury e 5 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi