O atributo responsável em adicionar as reticências em um TextView se chama “ellipsize” este atributo tem valores como:
- none
- start (adicionado “…” no inicio do texto, ex: “… middle fim”)
- middle (adicionado “…” no meio do texto, ex: “start … fim”)
- end (adicionado “…” no final do texto ex: “start middle …)
- marquee (sem “…” porem a palavra vai “sumindo”)
Se definido, faz com seja adicionado as reticências para palavras maiores que o campo de visão definido. Muitas vezes você vai querer configurar scrollHorizontally ou SingleLine bem como para que o texto como um todo também é limitado a uma única linha, em vez de ser quebrado em várias linhas.
Agora vamos ver como utilizar:
Atributos importantes para se definir:
android:maxLines=”1″
android:singleLine=”true”
Você deve definir o atributo singleLine caso queira a quebra em somente uma linha, se vocẽ definir o maxLines como maior do que um, você não precisa definir o singleLine.
Abaixo segue dois exemplos, um com uma quebra de linha unica e o outro com mais de uma linha:
<TextView android:id="@+id/csPostTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:singleLine="true" android:ellipsize="end" android:text="Este é um texto muito grande para testarmos o ellipsize, vamos escrever mais para que a quebra sejá melhor e a reticência sejá adicionada corretamente." />
<TextView android:id="@+id/csPostTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="2" android:ellipsize="end" android:text="Este é um texto muito grande para testarmos o ellipsize, vamos escrever mais para que a quebra sejá melhor e a reticência sejá adicionada corretamente." />
Muito bom.