0

layout_weightここにあるほとんどすべてのサンプルは、これがコードから設定する方法だと言っていることがわかります。

linearLayoutView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                                                                    LinearLayout.LayoutParams.WRAP_CONTENT,
                                                                     1f));

ただし、これは私の場合は機能しません。私の場合に機能するのはこれだけです:

linearLayoutView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                                                                    0,
                                                                     1f));

XMLコードに対応

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        >

なぜこうなった?私の解決策は間違っていますか?

4

1 に答える 1

2

あなたが言ったように

XMLコードに対応

あなたのxmlは正しいので、layout_height. この状況ではあなたLinearLayoutが持っている必要があります。適切に機能するためには、あなたvertical orientationがする必要があり、 aを使用する場合は、あなたがする必要があります。weightlayout_width0dpLinearLayoutvertical orientationlayout_height0dp

あなたが持っている最初のコードスニペットで

LinearLayout.LayoutParams.WRAP_CONTENT

あなたのためにheight間違っています。2 番目のコード スニペットのように 0 にする必要があります。

于 2013-08-30T19:01:24.233 に答える