Estou começando com o Android. Estou tendo problemas para obter um layout simples.
Eu gostaria de usar a LinearLayout
para posicionar dois TextViews
em uma única linha. Um TextView
no lado esquerdo e o outro no lado direito (análogo a float: left, float: right em CSS).
Isso é possível ou preciso usar um ViewGroup
aninhamento de layout diferente ou adicional para realizá-lo?
Aqui está o que eu tenho até agora:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:padding="10sp">
<TextView android:id="@+id/mytextview1" android:layout_height="wrap_content" android:text="somestringontheleftSomestring" android:layout_width="wrap_content"/>
<TextView android:id="@+id/mytextview2" android:layout_height="wrap_content" android:ellipsize="end"
android:text="somestringontheright" android:layout_width="wrap_content"/>
</LinearLayout>
Você pode usar a propriedade gravidade para "flutuar" visualizações.
fonte
Isso pode ser feito com
LinearLayout
(menos sobrecarga e mais controle do que a opção Layout relativo). Dê à segunda visualização o espaço restante para quegravity
possa funcionar. Testado de volta à API 16.Se você deseja limitar o tamanho da primeira exibição de texto, faça o seguinte:
Ajuste os pesos conforme necessário. O layout relativo não permitirá que você defina uma porcentagem de peso como esta, apenas um dp fixo de uma das visualizações
fonte
Mesmo com a dica de Rollin, a resposta de Dave Webb não funcionou para mim. O texto à direita
TextView
ainda estava sobreposto ao texto à esquerdaTextView
.Acabei conseguindo o comportamento que queria com algo assim:
Observe que mytextview2 foi
"android:layout_width"
definido como"match_parent"
.Espero que isso ajude alguém!
fonte
fonte
Caso você queira que os elementos esquerdo e direito agrupem o conteúdo, mas tenham o espaço do meio
fonte
Existem muitas outras maneiras de conseguir isso, eu faria algo assim.
fonte
A resposta de Dave Webb funcionou para mim. Obrigado! Aqui meu código, espero que isso ajude alguém!
Imagem: Imagem
fonte
Este código dividirá o controle em dois lados iguais.
fonte