在线直播系统源码,LinearLayout下多个ListView实现滚动

在线直播系统源码,LinearLayout下多个ListView实现滚动的相关代码

 

/*** 
     * 动态设置listview的高度 
     *  
     * @param listView 
     */  
    public void setListViewHeightBasedOnChildren(ListView listView) {  
        ListAdapter listAdapter = listView.getAdapter();  
        if (listAdapter == null) {  
            return;  
        }  
        int totalHeight = 0;  
        for (int i = 0; i < listAdapter.getCount(); i++) {  
            View listItem = listAdapter.getView(i, null, listView);  
            listItem.measure(0, 0);  //在还没有构建View 之前无法取得View的度宽。 在此之前我们必须选 measure 一下. 
            totalHeight += listItem.getMeasuredHeight();  
        }  
        ViewGroup.LayoutParams params = listView.getLayoutParams();  
        params.height = totalHeight  
                + (listView.getDividerHeight() * (listAdapter.getCount() - 1));  
        // params.height += 5;// if without this statement,the listview will be  
        // a  
        // little short  
        // listView.getDividerHeight()获取子项间分隔符占用的高度  
        // params.height最后得到整个ListView完整显示需要的高度  
        listView.setLayoutParams(params);  
    }  

我们在Listview的setAdapter后,在调用下这个方法就OK了,这样ListVIew的高度就是我们根据内容自定义的了。

以上就是在线直播系统源码,LinearLayout下多个ListView实现滚动的相关代码, 更多内容欢迎关注之后的文章

 

posted @ 2021-11-02 14:06  云豹科技-苏凌霄  阅读(27)  评论(0编辑  收藏  举报