Android(安卓)ListView根据内容动态设定高度
16lz
2021-01-26
Android ListView中根据内容(ListView的Item的数量)动态设定ListView的高度
listView.setLayoutParams(newLinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,400*listView.getCount()));
但是上面的代码是有问题的,当在不同像素的手机上使用上面代码时设定高度是不一样的,如何解决这一问题:
可以将设定的高度转化为像素:
publicintDpToPx(Contextcontext,floatnumber){floatscale=context.getResources().getDisplayMetrics().density;returnMath.round(scale);}
因此,在给ListView设定高度时,可采用:
listView.setLayoutParams(newLinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,DpToPx(content,400)*listView.getCount()));
常量400根据ListView的单个Item的高度决定,上面的代码可以对应不同像素的手机,给ListView动态设定高度。
更多相关文章
- ScrollView只能有一个子控件
- Android(安卓)改变当前屏幕背光亮度
- android顶部控件被输入法顶上去的解决办法
- Android中的分辨率小结
- Android(安卓)ListView拖动一条记录时,整体背景全黑的问题
- 关于Android的多种屏幕支持
- Android中动态调整ImageView的宽高比
- Android(安卓)OpenGL ES 播放 yuv420p文件
- Android图像处理(2):怀旧效果