我有一个自定义视图,可以动态添加子视图。
添加每个孩子时,我需要重新计算视图的大小,以便它们适合父母的宽度
例如:如果我有一个 TextView:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center"
android:padding="8dp"
android:clickable="true"
android:textColor="#666666"
android:visibility="visible"/>
如果我将其中三个添加到 xml 中的水平 LinearLayout 中,它会正确调整三个视图的大小,以便总宽度与父视图匹配。
但是我想一次膨胀一个并添加它们,以便如果我们想要布局中不同数量的 TextView 可以在代码的其他地方重用。
当我这样做时,总宽度小于其父级,并且在添加新视图时我无法调整视图大小。
这是我放大视图的地方:
layout = (LinearLayout) inflater.inflate(R.layout.segmented_control, this);
TextView item = (TextView) inflater.inflate(R.layout.segmented_control_item, null);