線上直播系統原始碼,LinearLayout下多個ListView實現滾動

zhibo系統開發發表於2021-11-02

線上直播系統原始碼,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實現滾動的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2840194/,如需轉載,請註明出處,否則將追究法律責任。

相關文章