2012-11-09 18 views
133

Ho aggiunto uno EditText al mio layout e aggiunto un suggerimento e lo ho centrato orizzontalmente.Che cosa significa ellipsize in Android?

Durante l'esecuzione dell'applicazione, il suggerimento era invisibile. Ho scoperto che dovrei fare ellipsize valore della TextView essere start:

<EditText 
    android:id="@+id/number1EditText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="start" 
    android:ems="10" 
    android:gravity="center_horizontal" 
    android:hint="@string/hint1" /> 

Nella documentazione Android, ho letto:

Se impostato, provoca le parole che sono più lunghi la vista è ampia per essere
ellipizzato anziché rotto nel mezzo.

Il problema è che ellipsize non è stato trovato nel dizionario. Qualcuno può spiegarmi quali vantaggi possiamo ottenere dall'attributo ellipsize? E qual è la differenza tra start, end, middle?

+0

riferiscono gentilmente la mia risposta aggiornata. –

+1

btw: la parola "ellisse" è stata creata. Si chiama "verbing un nome" ed è un modo comune per formare gergo informatico.Il nome è "ellisse" che presumo tu sappia, ed è trasformato in un verbo aggiungendo il finale "-ize" che significa "fare dentro", quindi puoi dedurre che "ellisse" è "per aggiungere un'ellisse a qualcosa". –

+4

Vecchio errore di compitazione, mai corretto. Il termine dovrebbe in realtà essere "ellissi". Ellisse è una curva su un piano che circonda due punti focali in modo tale che una linea retta viene tracciata da uno dei punti focali a qualsiasi punto della curva. L'ellissi sono i tre punti. – radley

risposta

285

È possibile trovare la documentazione here.

In base alle vostre esigenze è possibile provare in base all'opzione.

a ellipsize, un neologismo, mezzi per abbreviare il testo utilizzando un ellipsis, cioè tre punti ... o più comunemente legatura , per sostituire i bit omesse.

Say valore originario vista testo pf è aaabbbccc e il suo montaggio all'interno della vista

start 'uscita s sarà: ... BCCC

end' s uscita sarà: aaab ... uscita

s' middle sarà: aa ... cc

s' marquee uscita sarà: aaabbbccc automatico scorrevole da destra a sinistra

+0

Grazie. Ma l'ho già letto. Usa la parola "ellisse" dove sto cercando il suo significato. La parola non può essere usata nella sua definizione !! Qualche altra spiegazione per favore? –

+2

Molto ben scritto. Grazie :) –

9

Un ellipsis è tre periodi di fila ...

Il TextView userà un'ellissi quando non può espandersi a mostra tutto il suo testo. L'attributo ellipsized imposta la posizione dei tre punti se è necessario.

5

Testo:

This is my first android application and 
I am trying to make a funny game, 
It seems android is really very easy to play. 

Supponiamo sopra è il testo e se si utilizza ellipsize s' start attribuiscono sarà visto così

This is my first android application and 
...t seems android is really very easy to play. 

con end attributo

This is my first android application and 
I am trying to make a funny game,... 
1

Nota: il tuo testo deve essere più grande del contenuto casella per il seguente al perimetro:

android:ellipsize="marquee"  
+0

non è possibile utilizzare la selezione nell'editoriale !! –

0

Impostare questa proprietà per modificare il testo. Elipsize sta funzionando con disable edit text

android:lines="1" 
android:scrollHorizontally="true" 
android:ellipsize="end" 
android:singleLine="true" 
android:editable="false" 

o setKeyListener (null);

+0

imposta sopra menzionata tutte le proprietà e setKeyListener (null) tranne la proprietà modificabile. – Mubarak

41

per la mia esperienza, Ellipsis funziona solo se sono impostati due attributi inferiori.

android:ellipsize="end" 
android:singleLine="true" 

per la larghezza della vista testo, wrap_content o match_parent devono essere entrambi buoni.

+6

Funziona anche con Android: maxLines = "n" –

+0

realtà 'Android: singleLine' è stata sconsigliata dal livello di API 3, così invece usare' Android: maxLines'. Nota: > se vengono forniti sia singleLine sia inputType, i flag inputType sovrascriveranno il valore di singleLine. Controlla la documentazione a [R.attr.html # SingleLine] (https://developer.android.com/reference/android/R.attr.html#singleLine) –

16

How to Add an ellipsis in a TextView

android: ellipsize aggiunto a livello API 1 .Un ellissi è tre punti in una riga. (...).

Nella tua Xml

<TextView 
     .... 
     android:text="Hi I am Amiyo,you can see how to ellipse works." 
     android:ellipsize = "end" 
    /> 

A questo punto, i puntini di sospensione non visualizzerà ancora come un TextView è destinata ad ampliarsi automaticamente predefinita quando viene immesso un nuovo testo. Dovrai limitare il TextView in qualche modo. Effettuare questa operazione, è possibile utilizzare o aggiungere al proprio TextView a scrollHorizontally, minLines, or maxLines per visualizzare i puntini di sospensione.

Per rendere l'ellisse:

at the end: this is how it would...  
    use: android:ellipsize = "end" 

E

in the middle: this is ...how it would 
use: android:ellipsize = "middle" 

E

at the start: ...this is how it would 
use: android:ellipsize = "start" 

E

to have no ellipse 
use: android:ellipsize = "none" 

Avvertenza:

Do not use android:singeLine = "true", it is deprecated. 
android:maxLines = "1" will not display the three dots (...) 
android:lines = "1" will not display the three dots (...) 

Per maggiori dettagli si può visitare qui

http://developer.android.com/reference/android/widget/TextView.html#attr_android%3aellipsize

+0

può anche essere "lo wo ..." questo è non va bene per me. –