フラグメントを含むレイアウトがあります。レイアウトの幅を 300dip としましょう。
親の 300dip に関連して、プログラムで子の幅を計算したいと考えています。
XMLにはいくつかの「トリック」があり、重みまたはRelativeLayoutを使用しても機能せず、数学を使用する必要があるため、XMLでは実行できません。
これは、レイアウトを含むフラグメントです...
<LinearLayout
android:layout_width="300dip"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<fragment
android:id="@+id/tabbar"
android:name="com.test.MyFragment"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
MyFragment には次のメソッドがあります。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d("test", "container: " + container);
View view = inflater.inflate(R.layout.mylayout, container, false);
Log.d("test", "view width: " + view.getWidth());
//do things with view
return view;
}
出力コンテナ: null とビュー幅: 0 を取得しますが、フラグメントなどに onMeasure メソッドが見つかりません。