所以我有一個擴展的TextView,我試圖創建一個StaticLayout,以便我可以通過調用getEllipsisCount來檢測文本是否在屏幕外。StaticLayout getEllipsisCount返回0,當我知道它是橢圓化?
所以從TextView的範圍內,我建造像這樣的staticlayout:
layout = new StaticLayout(getText(), getPaint(), getWidth(), Alignment.ALIGN_NORMAL, 0f, 0f, false);
但是,即使layout.getLineCount()返回行的正確數目,getEllipsisCount(N)永遠不會返回> 0,甚至當我可以清楚地看到它添加省略號。
所以我猜這已經成爲一種不好的方式來檢測文本是否已經離開屏幕......所以沒有人知道更合適的方式,或如何讓這個工作?
難道是StaticLayout需要先繪製?有沒有一種方法可以用來測試省略號而不顯示用戶? – 2011-02-28 14:52:39
你可以確定一個textview是橢圓化的嗎? – sgarman 2011-11-10 22:38:13
不,我相信在返回有效值之前必須繪製文本。但我最初問這是爲了創建另一個問題的解決方案,看看你是否需要在那裏:http://stackoverflow.com/questions/5033012/auto-scale-textview-text-to-fit-within-bounds – 2011-11-11 03:58:49