目前想要用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以后会发生上面那种现象?