標籤:android listview高度 scrollview
這篇文章講的是兩個listview聯動。
xml布局檔案:
<ScrollView android:id="@+id/scroll_qiang" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/linear" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/listView1" android:layout_height="match_parent" android:layout_width="match_parent" android:divider="@null" android:listSelector="@android:color/transparent"/> <ListView android:id="@+id/listView_now" android:divider="@null" android:layout_height="match_parent" android:layout_width="match_parent"/> </LinearLayout> </ScrollView>
擷取ListView的高度:
int len = adapter_show.getCount();int totalHeight = 0;for (int i = 0; i < len; i++) { View listItem = adapter_show.getView(i, null, listview_now); listItem.measure(0, 0); // 計運算元項View 的寬高 int list_child_item_height = listItem.getMeasuredHeight()+listview_now.getDividerHeight(); Log.w("ListView Child Height", "child height="+list_child_item_height); totalHeight += list_child_item_height; // 統計所有子項的總高度 }ViewGroup.LayoutParams params = listview_now.getLayoutParams();params.height = totalHeight + (listview_now.getDividerHeight() * (len - 1)); // listView.getDividerHeight()擷取子項間分隔字元佔用的高度 // params.height最後得到整個ListView完整顯示需要的高度listview_now.setLayoutParams(params);注意:1、listview的item的根布局一定要是LinearLayout;
2、每個listview都要擷取高度,這樣才能在ScrollView中像一個listview那樣滾動。
ScrollView與ListView合用(正確計算Listview的高度)的問題