子ビューを動的に追加するカスタム ビューがあります。
各子が追加されると、ビューのサイズを再計算して、親の幅に収まるようにする必要があります
例: 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"/>
これらのうち 3 つを xml 内の水平 LinearLayout に追加すると、3 つのビューのサイズが正しく設定され、合計幅が親と一致します。
しかし、レイアウトに別の数の TextView が必要な場合は、コードの他の場所で再利用できるように、一度に 1 つずつ膨らませて追加したいと考えています。
これを行うと、合計幅がその親よりも小さくなり、新しいビューが追加されたときにビューのサイズを変更できません。
ビューを膨らませる場所は次のとおりです。
layout = (LinearLayout) inflater.inflate(R.layout.segmented_control, this);
TextView item = (TextView) inflater.inflate(R.layout.segmented_control_item, null);