Android中ListVIew高度自适应,解决ScrollView冲突问题以及Android表格
16lz
2021-01-23
效果图
类似格式,
listView_item.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/tieshu" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="#000" android:gravity="center" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /> <TextView android:id="@+id/usage" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="#000" android:gravity="center" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /> <TextView android:id="@+id/unit" android:layout_width="40dp" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center" android:textColor="#000" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /> <TextView android:id="@+id/drugType" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="#000" android:gravity="center" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /> <TextView android:id="@+id/count" android:layout_width="40dp" android:layout_height="wrap_content" android:layout_gravity="center" android:textColor="#000" android:gravity="center" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /> <TextView android:id="@+id/drugName" android:layout_width="60dp" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:textColor="#000" android:textSize="12sp" /> <View android:layout_width="1dp" android:layout_height="match_parent" android:background="#000" /></LinearLayout>
ListView 高度自适应代码 :
public static 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);totalHeight += listItem.getMeasuredHeight();}ViewGroup.LayoutParams params = listView.getLayoutParams();params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));listView.setLayoutParams(params);}
冲突:
如果嵌套在ScrollView中使用 listView无法自适应的话 请在setAdapter之后在调用自适应方法。
如果大家有什么好的 实现表格方法除了recyclerview 请推荐 谢谢。。
更多相关文章
- android 获得屏幕宽度 高度
- 2010.12.19——— android 设置组件的高度
- Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)
- Android 获取状态栏的高度
- Android沉浸式状态栏和手机虚拟按钮不兼容冲突的
- Android Tab切换表格头
- Scrollview和RecyclerView滑动冲突问题解决
- 安卓表格布局android:collapseColumns,android:shrinkColumns和s
- [Android]ScrollView和ListView套用冲突的解决方法