Eu tenho um TextView
na minha aplicação. Eu quero alinhar o texto nele à direita. Eu tentei adicionar:
android:gravity="right"
Mas isso não funciona para mim.
O que eu posso estar fazendo de errado?
Eu acho que você está fazendo isso: android:layout_width = "wrap_content"
Se este for o caso, faça o seguinte:android:layout_width = "match_parent"
Em geral,
android:gravity="right"
é diferente deandroid:layout_gravity="right"
.O primeiro afeta a posição do texto em si na Visualização, portanto, se você deseja que ele esteja alinhado à direita,
layout_width=
deve ser"fill_parent"
ou"match_parent"
.O segundo afeta a posição da Visualização dentro de seu pai, em outras palavras - alinhando o próprio objeto (caixa de edição ou exibição de texto) dentro da exibição pai.
fonte
A melhor solução é a mais simples e a que menos modifica seu comportamento no código .
E se você puder resolver esse problema apenas com 2 Propriedades no seu
TextView
?Em vez de precisar alterar suas
LinearLayout
propriedades, talvez isso possa alterar o comportamento dasLinearLayout
crianças?Dessa forma, você não precisa alterar as
LinearLayout
propriedades e o comportamento; você só precisa adicionar as duas seguintes propriedades ao seu destinoTextView
:O que seria melhor mudar apenas seu objetivo para resolver sua solução, em vez de ter a chance de causar outro problema no futuro, modificando seu pai-alvo? pense nisso :)
fonte
TextView
propriedade? - Você pode verificar a propriedade da referência aqui: developer.android.com/reference/android/view/...android:layout_gravity
é usado para alinhar a exibição de texto em relação ao layout pai.android:gravity
é usado para alinhar o texto dentro da visualização de texto.Tem certeza de que está tentando alinhar o texto dentro da visualização de texto para a direita ou deseja mover a visualização de texto para a direita em relação ao layout pai ou está tentando obter os dois
fonte
O seguinte trecho de código:
funciona muito bem para mim
fonte
Caso alguém ainda precise
fonte
Certifique-se de que não está usando,
android:layout_width="wrap_content"
caso contrário, não será possível definir a gravidade, pois não há espaço suficiente para o texto se alinhar. Em vez disso, useandroid:layout_width="fill_parent"
fonte
É basicamente usado no Layout Linear, então você precisa definir sua largura do TextView ou do EditText como
e
Quando estiver trabalhando no layout relativo, use
fonte
Crie o (LinearLayout)
android:layout_width="match_parent"
e o TextViewandroid:layout_gravity="right"
fonte
Se estiver,
RelativeLayout
você pode usarandroid:layout_toRightOf="@id/<id_of_desired_item>"
Ou
Se você deseja alinhar ao
right
canto do dispositivo, o localandroid:layout_alignParentRight="true"
fonte
android_layout_gravity
comporta-sefloat:left|right|top|bottom
Considerando que
android_gravity
trabalhar comotext_align:centre|left|right
No Android float é android_layout_gravity e text_align: is android_gravity.
E android_layout_gravity se aplica em relação ao pai. onde android_gravity se aplica ao seu filho ou conteúdo interno.
Nota android_gravity só funciona quando sua View é match_parent (quando tem espaço para centralizar).
fonte
Abaixo funciona para mim:
Observe as configurações
android:layout_alignParentEnd
eandroid:textAlignment
do segundo TextView.fonte
Você pode usar:
fonte
isso deve servir ao propósito
android:textAlignment="textStart"
fonte
No meu caso, eu estava usando
Relative Layout
por umemptyString
Depois de lutar sobre isso por uma hora. Só isso funcionou para mim:
layout_toRightOf
oulayout_toEndOf
ambos funcionam, mas, para apoiá-lo melhor, usei os dois.Para deixar mais claro:
Era isso que eu estava tentando fazer:
E essa foi a saída do emulador
Layout:
Notar que:
android:layout_width="wrap_content"
trabalhoGravity
não é usadofonte
Também enfrentei o mesmo problema e percebi que o problema estava acontecendo, pois a largura do layout do TextView estava tendo wrap_content. Você precisa ter layout_width como match_parent e o android: gravity = "gravity"
fonte
faz o número um alinhar no centro, horizontal e vertical.
fonte
tente adicionar
android:gravity="center"
emTextView
fonte
Eu usei o atributo "layout_alignRight" no meu caso, no texto é:
Se você deseja adicionar uma margem certa, basta definir o atributo "Layout_Margin Right" como "20dp", por exemplo, no texto:
fonte