2012-11-09 204 views
133

我已將EditText添加到我的佈局中,並添加了一條提示,並使其水平居中。ellipsize在android中的含義是什麼?

運行應用程序時,提示是不可見的。我發現,我應該使TextViewellipsize值爲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" /> 

在Android文檔,我讀:

如果設置,會導致那些比視圖長是寬是詞
橢圓化,而不是在中間破碎。

問題是在詞典中找不到ellipsize。任何人都可以向我解釋我們可以通過ellipsize屬性獲得什麼好處嗎? start,endmiddle有什麼區別?

+0

仔細查閱我更新的答案。 –

+1

btw:實際的單詞「ellipsized」是組成的。它被稱爲「翻譯名詞」,是形成計算機術語的常用方法。名詞是我認爲你知道的「橢圓」,並且它通過添加「-ize」結尾意思是「做成」來形成動詞,所以你可以推斷「ellipsize」是「將橢圓添加到東西」。 –

+4

舊的拼寫錯誤,從未糾正過。這個術語實際上應該是「省略號」。橢圓是圍繞兩個焦點的平面上的一條曲線,從一個焦點到曲線上的任意點繪製一條直線。省略號是三個點。 – radley

回答

285

你可以找到文檔here

根據您的要求,您可以嘗試根據選項。

ellipsize,新詞,是指使用ellipsis,即三個點...或更常見的結紮線,以代替省略比特縮短文本。

說原值PF文本視圖是aaabbbccc及其視圖內配合

start的輸出將是:...... BCCC

end的輸出將是:AAAB ...

middle的輸出將是:aa ... cc

marquee的輸出將是:aaabbbccc汽車從右滑動至左

+0

謝謝。但我已經讀過了。它在我正在尋找它的意義的地方使用了「ellipsized」這個詞。這個詞不能用於它的定義!請進一步解釋? –

+2

寫得很好。謝謝:) –

9

ellipsis是連續三個時期...

TextView的將使用省略號時,它不能擴展到顯示其所有文字。如果必要,屬性ellipsized設置三個點的位置。

5

文字:

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

假設上面是你的文字,如果您使用的ellipsizestart屬性會看到類似這樣的

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

end屬性

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

注意:您的文字必須大於包含內容er box for the following to marquee:

android:ellipsize="marquee"  
+0

你不能在edittext中使用字幕!上面提到的 –

0

設置此屬性以編輯文本。 Elipsize正在使用禁用編輯文本

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

或setKeyListener(null);

+0

提到了除可編輯屬性之外的所有屬性和setKeyListener(null)。 – Mubarak

41

對於我的經驗,省略號只有在設置了以下兩個屬性時才起作用。

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

對於textview的寬度,wrap_content或match_parent應該都很好。

+6

它也適用於android:maxLines =「n」 –

+0

實際上'android:singleLine'已被棄用,因爲API級別3,所以改爲使用'android:maxLines'。 請注意: >如果提供了singleLine和inputType,則inputType標誌將覆蓋singleLine的值。 查看文檔[R.attr.html#singleLine](https://developer.android.com/reference/android/R.attr.html#singleLine) –

16

How to Add an ellipsis in a TextView

機器人:在API級別ellipsize加入1- .An省略號是在一排三個時期。 (...)。

在XML

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

在這一點上,省略號將尚未作爲一個TextView設置輸入新的文本時上默認自動擴展顯示。您需要以某種方式限制TextView。要做到這一點,您可以使用添加到您的TextView a scrollHorizontally, minLines, or maxLines來省略號顯示。

爲了使橢圓:

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

而且

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

而且

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

而且

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

請注意:

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

有關詳細信息,您可以點擊這裏查看

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

+0

也可以是「it wo ...」那就是對我沒有好處。 –