Android中ListVIew高度自适应,解决ScrollView冲突问题以及Android表格

效果图


Android中ListVIew高度自适应,解决ScrollView冲突问题以及Android表格_第1张图片


类似格式,


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,ListView,布局)