2011-08-11 50 views
6

我正面臨一個在TextView中無法使用的android:ellipsize問題。 但是爲了android:singleLine很好地工作。android:單行的TextView在「棄用」中不再有效?

我聽說android:singleLine是「棄用」,但它不是寫在Android Developer的參考中。

https://developer.android.com/reference/android/widget/TextView.html#attr_android:singleLine

安卓SINGLELINE不再是 「棄用」?

添加: 我自己解決了這個問題。

事實證明,TextView屬性的android:scrollHorizo​​ntally =「true」沒有反映在xml文件中。

所以,我試圖使用setHorizo​​ntalScrolling方法,它的工作。

*xml:* 
<TextView 
    android:id="@+id/text" 
    android:ellipsize="end" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 

*code:* 
TextView textView = (TextView)findViewByID(R.id.text); 
textView.setHorizontallyScrolling(true); 

但是,我添加了「安卓的inputType =」像下面的XML文本」,這是行不通的 請小心

*xml:* 
<TextView 
    android:id="@+id/text" 
    **android:inputType="text"** 
    android:ellipsize="end" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 
+0

嘗試更新的答案... – ngesh

+0

對不起,ntc,我抹去了你的錯誤答案。我試過android:maxLines =「1」,但沒有奏效。我嘗試使用android:maxLines =「1」和android:scrollHorizo​​ntally =「true」,我也使用android:行代替android:maxLines,但沒有奏效。 – zaki

+0

[xml屬性singleLine是否已棄用或不在Android中?](http://stackoverflow.com/questions/30028697/is-the-xml-attribute-singleline-deprecated-or-not-in-android) – bummi

回答

0

嘗試也IME輸入設置爲短。文本或類似的東西。它可能工作。elipsize有很多問題,我也有一個點,並沒有設法解決。在我的情況下,它主要與editTexts連接,其他組件取消焦點爲了讓Elipsize能夠工作,需要重點關注。

+0

謝謝DArkO,我試過了,但是我解決不了。 – zaki

+0

不幸的是,如果有任何事情抓住焦點,我不認爲你會。順便說一下,我一直假設你想用它實現選取框效果。我記得有一些例子,人們使用動畫來做這個橢圓。 – DArkO

+0

嘗試這兩個鏈接,看看他們導致的地方:http://stackoverflow.com/questions/2160619/android-ellipsize-multiline-textview,http://stackoverflow.com/questions/1827751/is-there-a-way-爲了使橢圓大小字幕總是滾動 – DArkO

0

,我不知道,如果安卓的TextView的單線是nolonger在「已過時」,因爲TextView中的過時的構造函數中,有關於單線配置的評論..

//如果設置,輸入類型將覆蓋使用棄用的singleLine標誌設置的內容。

singleLine =!isMultilineInputType(inputType);

的源代碼:的core/java/android/widget/TextView.java - platform/frameworks/base - Git at Google

由於谷歌留下評論說,單行標誌已被棄用,(雖然它不是在開發者網站上寫的)圍繞1156L它可能是這樣。