Android动态设定GridView的高度,固定column,实现高度自适应

古人已用三冬足,年少今开万卷余。这篇文章主要讲述Android动态设定GridView的高度,固定column,实现高度自适应相关的知识,希望能为你提供帮助。
动态设定GridView的高度,固定column,根据gridview中的item个数设定高度:
调用以下方法:
 
 
[java]  view plaincopyprint?  

  1. public  static  void  setListViewHeightBasedOnChildren(GridView  listView)  {   
  2.         //  获取listview的adapter   
  3.               ListAdapter  listAdapter  =  listView.getAdapter();    
  4.               if  (listAdapter  ==  null)  {   
  5.                       return;    
  6.               }   
  7.               //  固定列宽,有多少列   
  8.               int  col  =  4; //  listView.getNumColumns();    
  9.               int  totalHeight  =  0;    
  10.               //  i每次加4,相当于listAdapter.getCount()小于等于4时  循环一次,计算一次item的高度,   
  11.               //  listAdapter.getCount()小于等于8时计算两次高度相加   
  12.               for  (int  i  =  0;   i  <   listAdapter.getCount();   i  +=  col)  {   
  13.                 //  获取listview的每一个item   
  14.                       View  listItem  =  listAdapter.getView(i,  null,  listView);    
  15.                       listItem.measure(0,  0);    
  16.                       //  获取item的高度和   
  17.                       totalHeight  +=  listItem.getMeasuredHeight();    
  18.               }   
  19.    
  20.               //  获取listview的布局参数   
  21.               ViewGroup.LayoutParams  params  =  listView.getLayoutParams();    
  22.               //  设置高度   
  23.               params.height  =  totalHeight;    
  24.               //  设置margin   
  25.               ((MarginLayoutParams)  params).setMargins(10,  10,  10,  10);    
  26.               //  设置参数   
  27.               listView.setLayoutParams(params);    
  28.       }   
调用此方法后,需要在调用notifyDataSetChanged()方法,实现界面刷新【Android动态设定GridView的高度,固定column,实现高度自适应】再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed

    推荐阅读