ScrollView嵌套listview 时根据内容动态设置listview高度

 public static void setListViewHeightBasedOnChilds(ListView listView){
        ListAdapter listAdapter = listView.getAdapter();
        if(listAdapter==null){
            return;
        }
        int totalHeight=0;
        int totalDividerHeight=0;
        for(int i = 0;i<listAdapter.getCount();i++){
            View listItem=listAdapter.getView(i, null, listView);
            listItem.measure(0,0);
            totalHeight+=listItem.getMeasuredHeight();
        }
        totalDividerHeight=listView.getDividerHeight()*(listAdapter.getCount()-1);
        ViewGroup.LayoutParams params=listView.getLayoutParams();
        params.height=totalHeight+totalDividerHeight;
        listView.setLayoutParams(params);
    }

亲测可用。

时间: 2024-09-30 14:59:12

ScrollView嵌套listview 时根据内容动态设置listview高度的相关文章

在ScrollView中嵌套ListView时,需要根据内容来设置listView的高度

动态设置ListView的高度 public void setListViewHeightBasedOnChildren(ListView mListView) { ListAdapter listAdapter = mListView.getAdapter(); if (listAdapter == null) { return; } int totalHeight = 0; for (int i = 0; i < listAdapter.getCount(); i++) { View lis

listview item之间分割线的设置 listview拖动变黑状态

1.取消listview每项间的分割线:(1)代码方式mListView.setDivider(null);(2)如果想扩大listview每项间的距离,并让分割线消失可以这样设置mListView.setDividerHeight(10);(3)xml方式 android:divider = "@null" android:dividerHeight="1dp" (4)将分割线设为其它颜色 android:divider = "@color/white&

动态设置iframe高度

<%//动态设置iframe高度 %><script language="javascript" type="text/javascript">      function SetWinHeight(obj) {                              var win = obj;        if (document.getElementByIdx_x) {            if (win && !

【Android - 问题解决】之ScrollView嵌套ListView时总是自动滑动到ListView顶部的问题

最近做了一个项目,里面有一个ScrollView嵌套ListView的布局. 做出来之后发现,进入这个界面之后,总是自动滑动到ListView的顶部,而ScrollView中位于ListView上面的一些控件就被挤到屏幕外面去了. 解决这个问题的方法如下: 在JAVA代码中,调用ScrollView对象的这个方法: scrollView.smoothScrollTo(0, 0);

scrollview嵌套listview时 动态设置listview高度

public class GetListViewHeight { public static void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdapter == null) { // pre-condition return; } int totalHeight = 0; for (int i = 0; i <

webView根据显示内容动态设置frame

不多说,代码如下: 第一步设置代理,实现加载完毕的代理方法,重新根据显示内容设置frame - (void)webViewDidFinishLoad:(UIWebView *) webView { CGSize actualSize = [webView sizeThatFits:CGSizeZero]; CGRect newFrame = webView.frame; newFrame.size.height = actualSize.height; webView.frame = newFr

关于Xib使用AutoLayout动态设置cell高度

最近又要做新功能了,虽然没有什么难点,只是获取后端XML数据显示到TableView,但是不是可以更简单快速的完成呢?原来Cell的动态高度一直都是通过sizeWithFont手动计算,潜意识觉得这应该不是最好的实现方式,但由于当时时间紧不允许尝试新技术,所以问题也就遗留了下来,这次又遇到了,时间充裕就解决下吧. Autolayout是解决自适应frame问题的解决方案(iOS6.0就已经支持了,我现在才用= =#).通过给视图元素设置合适的约束条件,内部会根据元素内容和限制条件计算出合适的尺寸

Android奇葩的实现方式之ScrollView嵌套ListView

众所周知,android的listview和scrollview都自带滑动效果,如果相互嵌套的话会出问题,listview显示不全呀,不能滑动之类的,谷歌也是建议不要出现这种奇葩的设计,但是总会有一些奇葩的产品,会有一些这种变态的设计模式,当然也可能是程序猿自己开发的问题,程序的扩展性有问题,只能无可奈何地用这种设计模式,我也是前段时间碰到了两个listview同时显示,数据源不同,由于是公司的产品,也无法给大家贴出代码来,当然也是我一开始设计的有问题,所以自作孽不可活啊,好了废话不多说,我们重

ScrollView中嵌套ListView时,listview高度显示的问题

方法一:直接更改listview的控件高度,动态获取(根据条目和每个条目的高度获取) 前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView.但刚开始的时候,会发现放入的小ListView会显示不完全,它的高度始终有问题.上网查了下,发现别人也有遇到这样的问题,而大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的ScrollView的,它的高度是无法计