在Custom ViewGroup中测量之前,Child LayoutParams为null

时间:2016-01-01 13:33:33

标签: android

我有一个自定义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)

0 个答案:

没有答案