Pergunta

Eu tenho duas visões que quero centralizar verticalmente em um RelativeLayout.

Existe uma maneira de fazer isso sem usar gravitação/layout_gravity ?enter image description here

Meu problema por trás desta pergunta:

Preciso fazer um layout com vários quadrados e embaixo de cada um um TextView.O principal problema é que os TextViews devem se sobrepor.Apenas um TextView ficará visível por vez.Cada TextView tem um comprimento diferente.

Comecei com um RelativeLayout, mas encontrei o problema anterior.E não consigo agrupar as visualizações 2 por 2 porque preciso definir um layout_toRightOf do quadrado anterior.

enter image description here

Layout atual:

No momento, defini um número mágico em layout_marginLeft para cada quadrado (até a borda da visualização pai), mas ele não está nada limpo.

enter image description here

Obrigado

Foi útil?

Solução 2

Finaly, eu mantive o layout_marginleft, mas coloquei os valores em meus res / values / dimens.xml, é mais limpo e eu posso ter uma dimensão dimens.xml por tela. Um truque é definir a largura dos textviews deliberadamente grandes, então não dependerá do comprimento das cordas.

Outras dicas

Usar android:layout_centerInParent="true" centralizar algo em um RelativeLayout
Você pode usar android:layout_below="@id/your_first_view" para colocar o seu segundo View abaixo do primeiro!
Se você quiser fazer coisas mais complexas, você pode separar suas diferentes visualizações e armazená-las em novas LinearLayout que você define como horizontal ou vertical dependendo de suas necessidades.
Outro truque pode ser criar Views vazias com altura ou largura pequenas e que podem ajudá-lo a posicionar as coisas ao redor delas!
Isto combinado ao toRightOf toLeftOf as coisas farão o que você quiser

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top