[問題] GridView 高度設定問題
目前想要用GridView做個類似日曆的UI
但是每格內容不一致 造成大小不一樣 結果GridView的背景就跑出來了
http://i.imgur.com/nVtfTPs.png

格子內的Layout配置是一個RelativeLayout包兩個TextView
我在Adapter的裡面有計算最高的高度 並把每格的高度設定到最高
public View getView(int position, View convertView, ViewGroup parent) {
....
....
// holder.background 是格子內的RelativLayout
if(holder.background.getMeasuredHeight() > MaxHeight)
MaxHeight = holder.background.getMeasuredHeight();
holder.background.setMinimumHeight(MaxHeight);
....
....
}
但是這樣只有後面會被設定到最高高度
要把GridView往下捲 再往回捲 剩下的RelativLayout的高度才會被設定
http://i.imgur.com/DdIO2wB.png

想說call notifyDataSetChanged() 讓他在抓到最高高度的狀況下重刷一遍getView
但是沒有效果 (對GridView沒有用?)
還有另一個疑惑的問題
我現在最理想的狀況就是GridView格子都一樣大
然後GridView是完整的寬高 (就是不用捲動就可以全部顯示)
然後我發現在第二張圖的狀況下 點開上面的Spinner 然後選取任一Item
結果GridView就會自動伸展到完整的寬高 (UI被Update了?)
就像這樣 http://i.imgur.com/EATdKF3.png

選取完Spinner之後到底背後做了甚麼?
註: spinner我都還沒設任何Listner上去
問題一:如何將GridView同一行(或全部)的高度都一致?
問題二:如何讓GridView顯示完整的寬高?
問題三:為什麼選取完spinner以後會發生上面那種現象?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.188.226
※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1416665215.A.B1F.html
→
11/22 23:06, , 1F
11/22 23:06, 1F
→
11/22 23:48, , 2F
11/22 23:48, 2F