2011-09-19 65 views
1

我有一個ListView,每行顯示2列。我沒有任何特定的列布局XML,因此Android正在爲我確定它。如果第一列中的文本太寬,那麼第二列的佈局會發生不好的事情。理想情況下,我希望Android以合理的寬度橢圓化第1列中的文本,並/或將第1列的寬度限制爲總可顯示寬度的80%。我可以在代碼中執行此操作嗎?Android ListView ellipsize寬列內容

很高興在設置ListView時手工省略第1列文本本身,如果這很簡單,但它必須應付方向更改(因爲在橫向上,第1列文本不會太寬以至於不需要橢圓化) 。

謝謝。

回答

1

將textviews的寬度設置爲特定的寬度,即50dp而不是wrap_content。 然後將ellipsize設置爲true。其餘的應該照顧好自己。

+0

謝謝,這使我朝着正確的方向前進。我去了layout_width =「0dp」和layout_weight = 80/20。也必須從RelativeLayout更改爲LinearLayout。 – jarmod

+0

沒問題。我建議你找到另一種方法來讓佈局在不使用權重的情況下表現得很好。權重不穩定且處理密集,但如果您的應用程序相對輕量級,則可以自由使用它。 –

+0

如果你想要百分比,比如80/20 split,那麼還有其他方法可以完成這個嗎?我不想硬編碼,例如,40dp和10dp,因爲這對於所有屏幕尺寸/方向肯定不會正確。 – jarmod