Eu tenho um TextView
que eu quero limitar os caracteres. Na verdade, eu posso fazer isso, mas o que estou procurando é como adicionar três pontos (...) no final da string. Este mostra que o texto continuou. Este é o meu XML, mas não há pontos, embora limite meu texto.
<TextView
android:id = "@+id/tvFixture"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_toLeftOf = "@id/ivFixture_Guest"
android:text = "@string/test_06"
android:lines = "1"
android:ems = "3"
android:gravity = "right"
style = "@style/simpletopic.black"
android:ellipsize="end"/>
singleLine
? Consulte também: O atributo xml singleLine está obsoleto ou não está no Android?A seguir, é o que aprendi brincando com várias opções para forçar
TextView
a uma linha única (com e sem os três pontos).android: maxLines = "1"
Isso apenas força o texto a uma linha. Qualquer texto extra está oculto.
Palavras-chave:
ellipsize = "end"
Isso corta o texto que não se encaixa, mas permite que os usuários saibam que o texto foi truncado adicionando reticências (os três pontos).
Palavras-chave:
ellipsize = "letreiro"
Isso faz o texto rolar automaticamente pelo TextView. Observe que às vezes precisa ser definido no código:
Supostamente
android:maxLines="1"
eandroid:singleLine="true"
deve fazer basicamente a mesma coisa e, como o singleLine está aparentemente obsoleto, eu preferiria não usá-lo, mas quando o tiro, a marca de seleção não rola mais. LevandomaxLines
não afeta, no entanto.Palavras-chave:
HorizontalScrollView with scrollHorizontally
Isso permite que o usuário role manualmente para ver toda a linha de texto.
fonte
Experimente esta propriedade do TextView no seu arquivo de layout.
fonte
Suponho que você queira limitar a largura a uma linha e não limitar por caractere? Como
singleLine
está obsoleto, você pode tentar usar o seguinte juntos:fonte
por exemplo. você pode usar
isso restringirá o tamanho do texview a 13, mas o problema é que, se você tentar adicionar 3 pontos (...), ele não será exibido, pois fará parte do tamanho do texto.
além disso você tem que usar
fonte
Usar
android:singleLine="true"
android:maxLines="1"
app:layout_constrainedWidth="true"
É assim que minha
TextView
aparência completa :fonte
Estou usando o Horizonal Recyclerview.
1) Aqui no CardView, o TextView fica distorcido verticalmente ao usar
Confira o TextViews Wyman Group em negrito, Jaskolski ...
2) Mas quando eu usei o singleLine junto com o elipsize -
Confira o TextViews Wyman Group em negrito, Jaskolski ...
A segunda solução funcionou corretamente para mim (usando o singleLine). Também testei na versão do sistema operacional: 4.1 e superior (até 8.0), está funcionando bem sem falhas.
fonte
código:
xml:
por exemplo
Em Mateus 13, os discípulos perguntaram a Jesus por que Ele falou à multidão em parábolas. Ele respondeu: "Foi-lhe dado conhecer os mistérios do reino dos céus, mas a eles não foi dado.
Resultado: Em Mateus 13, os discípulos perguntaram a Jesus por que Ele falou às multidões em parábolas. Ele respondeu: "Foi-lhe dado saber ...
fonte
Eu obtive o resultado desejado usando
O truque é definir maxLines e minLines com o mesmo valor ... e não apenas android: lines = "2", não o fazem. Além disso, você está evitando atributos descontinuados.
fonte
Você precisa adicionar as seguintes linhas ao seu layout para a visualização de texto
Espero que funcione para voce.
fonte
Você pode limitar o número de caracteres da sua exibição de texto e adicionar (...) após o texto. Suponha que você precise mostrar apenas 5 letras e depois disso (...), faça o seguinte:
um pequeno truque ^ _ ^. Embora não seja uma boa solução. Mas um trabalho em torno do qual funcionou para mim: D
EDIT: Eu adicionei cheque para menos caracteres conforme seu número limitado. de caracteres.
fonte
Para trabalhar com o atributo android: ellipsize , você deve limitar a largura do layout do TextView , para que o texto fique fora dos limites da visualização do TextView.
Portanto, o atributo android: layout_width desempenha um papel fundamental aqui, configure-o de acordo.
Um exemplo pode ser:
Agora, aqui, se o texto no android: text = "Este é um texto muito longo a ser exibido" desaparece do TextView com um android: layout_width = "120dp" , android: ellipsize = "end" truncará o texto e coloque ... (3 pontos) depois dele. isto é muito longo ... será exibido no TextView.
fonte
Eu acho que você dá correção altura e largura da exibição de texto. Então sua solução funcionará.
fonte
você pode escrever esta linha em xml, onde você seleciona
textview
:fonte
A abordagem do @AzharShaikh funciona bem.
Mas percebo um problema que o TextView será truncado por palavra (por padrão). Mostrar se temos um texto como:
teste long_line_without_any_space_abcdefgh
o TextView exibirá:
teste...
E eu encontrei uma solução para lidar com esse problema, substitua espaços pelo caractere de espaço no-break unicode, faz o TextView envolver caracteres em vez de palavras:
O resultado:
teste long_line_without_any_space_abc ...
fonte
fonte
Adicione estas duas linhas no seu texto
fonte
você pode fazer isso
xml
:fonte
Dots
@ end commaxLength="35"
propriedade qualquer solução?Você acabou de mudar ...
Use isto abaixo da linha
.......
fonte