Dúvidas sobre Layout

Olá pessoal!

Tenho algumas dúvidas sobre layout!! :lol:

:arrow: Montei a seguinte tela no Android, só que eu tive que colocar os width para que os objetos ficassem um ao lado do outro.
Se eu uso o fill_parent o EditText acaba ocupando todo o espaço restante da tela, mesmo eu colocando ele dentro de outro RelativeLayout e setando esse layout como wrap_content. Porque isso ocorre?? Eu não quero usar o width setado porque se o usuário deitar o celular o tamanho do objeto vai ficar o mesmo.

:arrow: Ainda sobre a tela citada acima. Nela tenho um Spinner e um ImageButton, contudo, esse imagebutton não vai aparecer sempre, então eu estou usando a seguinte codificação na programação da tela:

if (c.getId() != null) { btnAdicionar.setVisibility(View.GONE); txtNomeCriterio.setWidth(200); } else { txtNomeCriterio.setWidth(150); btnAdicionar.setVisibility(View.VISIBLE); btnAdicionar.setImageResource(R.drawable.setaamarela); }
O problema é que o sistema não esta setando o width do objeto! Ele no tamanho que foi definido no arquivo XML. Isso ocorre por que?
Agradeço desde já pela ajuda!