Android动态设定GridView的高度,固定column,实现高度自适应
2016-08-24 21:57
363 查看
动态设定GridView的高度,固定column,根据gridview中的item个数设定高度:
调用以下方法:
[java] view
plaincopy
public static void setListViewHeightBasedOnChildren(GridView listView) {
// 获取listview的adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
// 固定列宽,有多少列
int col = 4;// listView.getNumColumns();
int totalHeight = 0;
// i每次加4,相当于listAdapter.getCount()小于等于4时 循环一次,计算一次item的高度,
// listAdapter.getCount()小于等于8时计算两次高度相加
for (int i = 0; i < listAdapter.getCount(); i += col) {
// 获取listview的每一个item
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
// 获取item的高度和
totalHeight += listItem.getMeasuredHeight();
}
// 获取listview的布局参数
ViewGroup.LayoutParams params = listView.getLayoutParams();
// 设置高度
params.height = totalHeight;
// 设置margin
((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
// 设置参数
listView.setLayoutParams(params);
}
调用此方法后,需要在调用notifyDataSetChanged()方法,实现界面刷新
调用以下方法:
[java] view
plaincopy
public static void setListViewHeightBasedOnChildren(GridView listView) {
// 获取listview的adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
// 固定列宽,有多少列
int col = 4;// listView.getNumColumns();
int totalHeight = 0;
// i每次加4,相当于listAdapter.getCount()小于等于4时 循环一次,计算一次item的高度,
// listAdapter.getCount()小于等于8时计算两次高度相加
for (int i = 0; i < listAdapter.getCount(); i += col) {
// 获取listview的每一个item
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
// 获取item的高度和
totalHeight += listItem.getMeasuredHeight();
}
// 获取listview的布局参数
ViewGroup.LayoutParams params = listView.getLayoutParams();
// 设置高度
params.height = totalHeight;
// 设置margin
((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
// 设置参数
listView.setLayoutParams(params);
}
调用此方法后,需要在调用notifyDataSetChanged()方法,实现界面刷新
相关文章推荐
- Android动态设定GridView的高度,固定column,实现高度自适应
- Android动态设定GridView的高度,固定column,实现高度自适应
- Android动态设定GridView的高度,固定column,实现高度自适应
- Android动态设定GridView的高度,固定column,实现高度自适应
- Android动态设定GridView的高度,固定column,实现高度自适应
- Android动态设定GridView的高度,固定column,实现高度自适应
- 动态设定GridView的高度,固定column,实现高度自适应
- Android GridView之添加分隔线,动态设置高度,实现高度自适应,并解决第一个item不显示的问题
- android设置GridView高度自适应,实现全屏铺满效果
- Android实现自适应正方形GridView Read more: http://blog.chengyunfeng.com/?p=465#ixzz2id8EQPMq
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
- (div+css)上下固定中间自适应高度网页布局的实现
- 【Android】Item高度固定下动态设置ListView的高度
- android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)
- AndroidGUI26:程序中动态设定组件的宽度、高度以及margin等属性
- android ImageView 宽度设定,高度自适应
- Android实现自适应正方形GridView(陌陌引导页面效果)
- AndroidGUI26:程序中动态设定组件的宽度、高度以及margin等属性
- Android--GridView实现动态文字排版
- css实现左栏固定右栏自适应,高度自适应的布局