我有一个自定义ListView。在为xml充气时,如果childView LayoutParameters为null。因此,我必须应用新的LayoutParameters。这不是很好,因为在我的xml模板中设置了边距。如果我应用新的LayoutParameters,那么我将丢失MarginLayoutParameters。然后,当我来测量我的自定义ViewGroup时,我只有孩子的高度,并且底部没有额外的边距空间。
当我指定了wrap_content和margin?
时,为什么子LayoutParams为null? list_item.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/root"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/text_view1"
android:layout_height="100dp"
android:layout_width="100dp"
android:padding="10dp"
android:layout_marginRight="1dp"
android:gravity="center"
android:textColor="@android:color/background_dark"
android:background="@android:color/background_light"
android:text="1" />
<TextView
android:id="@+id/text_view1"
android:layout_height="100dp"
android:layout_width="100dp"
android:padding="10dp"
android:layout_marginRight="1dp"
android:gravity="center"
android:textColor="@android:color/background_dark"
android:background="@android:color/background_light"
android:text="2" />
</LinearLayout>
这就是上面的xml被夸大的方式
View child = LayoutInflater.From(mContext).Inflate(Resource.Layout.list_item,null);
然后我检查它的layoutParams
if (child.getLayoutParams () == null)