Android动态改变ListView的高度
来源:互联网 发布:华为如何开数据流量 编辑:程序博客网 时间:2024/05/28 09:33
原文地址:https://www.2cto.com/kf/201501/368961.html
定义一个函数将dp转换为像素
public int Dp2Px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
定义函数动态控制listView的高度
public void setListViewHeightBasedOnChildren(ListView listView) {
//获取listview的适配器
ListAdapter listAdapter = listView.getAdapter(); //item的高度
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = mAdapter.getView(i, null, listView);
listItem.measure(0, 0); //计算子项View 的宽高 //统计所有子项的总高度
totalHeight += Dp2Px(getApplicationContext(),listItem.getMeasuredHeight())+listView.getDividerHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight; listView.setLayoutParams(params);
}
在每次listView的adapter发生变化后,要调用setListViewHeightBasedOnChildren(listView)更新界面
- Android动态改变ListView的高度
- Android动态改变ListView的高度
- 动态改变listView的高度
- 动态改变listview的高度
- 【Android多屏适配】动态改变Listview item高度
- Android-Dialog根据listview的数据量动态改变高度,并且有一个最大的高度
- 动态改变Listview item高度
- Android动态获取ListView的高度
- Android 动态获取ListView的高度
- Android 动态获取ListView的高度
- Android 动态获取ListView的高度
- 【Android】Item高度固定下动态设置ListView的高度
- [android] ListView 选中状态的动态改变
- Android ListView根据项数的大小自动改变高度
- android 动态设置ListView 高度
- Android动态计算ListView高度
- 动态的改变iframe高度
- 动态改变CELL 的高度
- kotlin学習
- 清科2017医美行业研究报告:消费者搅动产业变局
- 如何下载一张北京全景的卫星地图?
- 习题4.2
- 递归调用之斐波那契数列
- Android动态改变ListView的高度
- 日记-js树
- 51nod 1274 最长递增路径[dp]
- java之练习题
- 吃透Java中的动态代理
- HTTP
- SpringBoot-拦截器
- 用<input type="file" accept="image/*" capture="camera">之后,把图片放到页面上
- JavaMail收取邮件并解析