2010-09-16 97 views
3

有沒有辦法強制GridView只能是單行?現在,默認情況下,它將擴展其高度以容納其適配器提供的所有視圖。強制GridView只有一行?

+0

你會如何顯示,例如,只有一行100個項目? – Cristian 2010-09-16 03:01:56

+0

一旦達到控件的寬度,我們可以截斷子視圖,或者在一個條上水平滾動。 – user291701 2010-09-16 13:45:06

回答

0

您應該結合水平SCROLLVIEW和LINEARLAYOUT和GRIDVIEW來實現您想要的效果! 將網格視圖放入linearlayout中,並將線性佈局放入水平滾動視圖中;

然後當設置適配器!統計數據的數量! 之後,您應該計算所需的寬度以顯示所有項目! 例如,你想顯示8項!每個寬度是100dp。所以期望的寬度將是800dp! 就應該添加的代碼

yourGridView.setNumColumns(8); 
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(800, ViewGroup.LayoutParams.MATCH_PARENT); 
yourGridView.setLayoutParams(lp); 

這些線路DNT忘記設置在XML中的線性佈局WRAP_CONTENT的寬度!

***重要提示

,因爲我知道,這樣做,GridView控件不能垃圾收集,因爲滾動查看不支持這樣嵌套在它的事情,你的網格視圖! 所以dnt使用這種方法很多圖像,否則你會得到HEAP SIZE錯誤!

+0

你可以提供一個例子嗎? – AndroidGuy 2016-05-13 11:31:39