//布局代码 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:divider="@android:color/black" android:dividerHeight="5dp" android:scrollbars="none" > </ListView> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="全选" /> </LinearLayout> </ScrollView> //oncreate里面的代码 listview = (ListView) findViewById(R.id.listview); list = new ArrayList<String>(); for (int i = 0; i < 30; i++) { list.add("这是第" + i + "条数据"); } listview.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list)); int listviewHeight = 0; for (int i = 0; i < listview.getCount(); i++) { // 得到适配器 ListAdapter adapter = listview.getAdapter(); // 通过适配器得到每一个Item布局 View view = adapter.getView(i, null, listview); view.measure(0, 0); int height = view.getMeasuredHeight(); listviewHeight += height; } // 加上每一条Item中间的间距 listviewHeight += listview.getDividerHeight() * (listview.getCount() - 1); // 设置listview新的高度 // LayoutParams parames =new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); LayoutParams parames = listview.getLayoutParams(); parames.height = listviewHeight; listview.setLayoutParams(parames);
Scroll_Listview的冲突解决
最新推荐文章于 2021-08-11 00:00:35 发布