-3

多くの回答が指摘しています: layout_weight を使用する場合は、layout_height="0dp" を設定する必要があります。OnMeasure で layout_height="fill_parent" が行ったことは何ですか? 誰がそれを説明できますか?ごめんなさい。これは私の初めての質問です。シーンは以下です。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:orientation="horizontal" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="2"
        android:background="#a00"
        android:text="r" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="3"
        android:background="#0a0"
        android:text="g" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#00a"
        android:text="b" />
</LinearLayout>
4

2 に答える 2

0

コードがないと役に立ちませんが、やってみます。

1layout_weightつ目は、LinearLayout (およびそのサブクラス) でのみ機能する属性です。他の ViewGroup を親として使用している場合、機能しません。

次に、layout_weightUNUSED スペースを分割するために使用されます。他のすべての子がレイアウトされた後、layout_weight を持つ子は、重みに基づいて残りの利用可能なスペースを占有します。layout_height="0dp"これが、を使用するときにビューを提供することを人々がしばしば推奨する理由layout_gravityです。これは、他のすべてが完了するまでスペースを占有しないことを意味します。親の代わりに子がいる場合、分割する余地はありません。

うまくいけば、これはより良い使用方法を理解するのに役立ちますlayout_weight.

于 2013-02-01T04:40:04.503 に答える