2
我正在動態地向GridLayout添加線性佈局。我希望能像網格視圖一樣顯示。是否有可能計算可以在一行中放置多少線性佈局,併爲網格佈局設置列數,或者我應該使用gridview自動對齊它們。動態設置網格佈局的行數和列數
我正在動態地向GridLayout添加線性佈局。我希望能像網格視圖一樣顯示。是否有可能計算可以在一行中放置多少線性佈局,併爲網格佈局設置列數,或者我應該使用gridview自動對齊它們。動態設置網格佈局的行數和列數
如果要根據GridLayout
的寬度計算列計數,請覆蓋onMeasure
方法。它提供了widthSpec
和heightSpec
作爲參數,從中您可以使用MeasureSpec.getSize()以像素爲單位獲得實際寬度和高度。從那裏,根據剛剛找到的GridLayout
的寬度計算您想顯示的列數,並使用setColumnCount
使其顯示該列數。
我知道有一點晚了,但並不像這樣簡單。您還需要重新計算或使每個子視圖的佈局參數的行和列規格無效,並在調用'setColumnCount(int)'之前調用'requestLayout()'。不這樣做通常會導致IllegalArgumentException。 – drdaanger