2012-11-09 14 views
133

Dodałem do mojego układu EditText i dodałem podpowiedź, i wyśrodkowałem ją poziomo.Co oznacza elipsa w Androidzie?

Podczas uruchamiania aplikacji wskazówka była niewidoczna. Uważam, że należy dokonać ellipsize wartość TextView być 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" /> 

W dokumentacji Android, czytam:

Jeśli ustawione, powoduje słowa, które są dłuższe niż widok jest szeroka, aby być
elipsa zamiast złamanego na środku.

Problem polega na tym, że ellipsize nie znajduje się w słowniku. Czy ktokolwiek może mi wyjaśnić, jakie korzyści możemy uzyskać dzięki atrybutowi ellipsize? Jaka jest różnica między start, end, middle?

+0

życzliwie odnoszą moją zaktualizowaną odpowiedź. –

+1

btw: rzeczywiste słowo "ellipsized" jest wykonane. Nazywa się "verbing a rzeczownik" i jest popularnym sposobem tworzenia żargonu komputerowego.Rzeczownik to "elipsa", o której zakładam, że wiesz, i jest przekształcany w czasownik przez dodanie końcówki "-ize", co oznacza "wstawić", więc możesz wywnioskować, że "elipsa" to "dodanie elipsy do coś". –

+4

Stary błąd w pisowni, nigdy poprawiony. Termin powinien w rzeczywistości być "elipsy". Elipsa to krzywa na płaszczyźnie otaczającej dwa punkty ogniskowe w taki sposób, że linia prosta biegnie od jednego z punktów ogniskowych do dowolnego punktu na krzywej. Elipsy to trzy kropki. – radley

Odpowiedz

285

Możesz znaleźć dokumentację here.

W zależności od wymagań można wypróbować zgodnie z opcją.

do ellipsize, neologizm, a więc do skrócenia tekstu przy użyciu ellipsis, to znaczy trzech lub więcej punktów ... powszechnie ligatury , aby stać się dla pominiętych bitów.

Say oryginalna wartość widok tekst pf jest aaabbbccc a jego montaż wewnątrz widoku

start 's wyjście będzie: ... bccc

end' s wyjście będzie: AAAB ...

middle „s wyjście będzie: aa ... cc

marquee „s wyjście będzie: aaabbbccc auto przesuwne z prawej do lewej

+0

Dzięki. Ale już to przeczytałem. Używa słowa "elipsa", gdzie szukam jego znaczenia. Tego słowa nie można użyć w jego definicji! Jakieś dodatkowe wyjaśnienie, proszę? –

+2

Bardzo dobrze napisane. Dzięki :) –

9

ellipsis jest trzy okresy w rzędzie ...

TextView użyje wielokropek, gdy nie może rozszerzać się pokaż cały tekst. Atrybut ellipsized ustawia położenie trzech kropek, jeśli jest to konieczne.

5

Tekst:

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

Załóżmy powyżej jest tekst i jeśli używasz ellipsize „s start atrybut będzie widział jak ten

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

z end atrybutu

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

Uwaga: Twój tekst musi być większy niż zawartość er box na następujące markizy:

android:ellipsize="marquee"  
+0

nie można używać marquee w edittext !! –

0

Ustaw tę właściwość do edycji tekstu. Elipsize działa z wyłączonym edytowaniem tekstu edycji

lub setKeyListener (null);

+0

Ustaw wyżej wspomnianą właściwość i setKeyListener (null) z wyjątkiem właściwości edytowalnej. – Mubarak

41

Dla mojego doświadczenia, Ellipsis działa tylko wtedy, gdy ustawiono poniżej dwa atrybuty.

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

dla szerokości widoku text, wrap_content lub match_parent powinny być dobre.

+6

działa również z Androidem: maxLines = "n" –

+0

W rzeczywistości 'android: singleLine' był przestarzały od poziomu API 3, więc zamiast tego użyj' android: maxLines'. Uwaga: > jeśli dostarczane są zarówno singleLine, jak i inputType, flagi inputType będą nadpisywać wartość singleLine. Zapoznaj się z dokumentami pod adresem [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 dodano poziomu API 1 .Ruch elipsa jest trzy okresy w rzędzie. (...).

W swojej XML

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

W tym momencie, wielokropek nie będzie jeszcze wyświetlany jako TextView jest skonfigurowany do automatycznego rozwinąć domyślnie po wprowadzeniu nowego tekstu. Będziesz musiał w jakiś sposób ograniczyć TextView. Zrób to, możesz użyć albo dodać do swojego TextView a scrollHorizontally, minLines, or maxLines, aby wyświetlić obraz wielokropka.

Aby elipsę:

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

I

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

I

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

I

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

Uwaga proszę:

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 (...) 

Więcej szczegółów można znaleźć tutaj

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

+0

może też być "to wo ...". nic dobrego dla mnie. –