2

プロパティandroid:layout_width="0px"を使用するときになぜ配置する必要があるのですか? ndroid:layout_weightたとえば、次は私の main.xml ファイルであり、その中で使用したandroid:layout_width="wrap_content"もので、すべて正常にandroid:layout_width="0px"動作するのに、layout_weight プロパティを使用しているときに使用する必要があるのはなぜですか?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="horizontal">
<EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/editText" android:hint="enter your name"
        android:layout_weight="3"/>
<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send"
        android:id="@+id/button"
        android:layout_weight="0"/>
</LinearLayout>

これが私のレイアウトの外観です。 ここに画像の説明を入力

4

3 に答える 3

2

あなたは確かにそうする必要はありません。さらにweight=0、あまり意味がありません。パラメータは、レイアウト内の残りのスペースのweightどの部分をウィジェットが占めるかを制御します。したがって、設定により、残りのスペースのみを占有するように効果的に指示されます。を設定すると、30 px|dp + 残りのすべてのスペースが占有されます。幅を 0 に設定すると、さまざまな画面サイズで予測可能な結果を​​得やすくなります。width=0width=30

width=0一般的なパターンは、実際のサイズ (幅または高さ) を気にしない親コンテナー内で同じサイズにするために、同じ重みを持つ 2 つのウィジェットを用意することです。

于 2012-12-18T05:32:41.497 に答える
1

レイアウトウェイト自体は、ウェイトプロパティに従って適切な幅を与えるために使用されます。これを確認してください

この属性は、画面上で占めるべきスペースの量に関して、ビューに「重要度」の値を割り当てます。重みの値を大きくすると、親ビューの残りのスペースを埋めるために拡張できます。

したがって、日食は幅を0pxにすることを提案します

于 2012-12-18T05:28:49.397 に答える
1

layout_weight 複数のビュー間のサイズ比を指定できます。

たとえば、Tabelview と、レイアウトに追加情報を表示する画像があるとします。表は画面の 3/4 を使用し、画像は画面の 1/4 を使用する必要があります。次に、tabelview の layout_weight を 3 に、画像の layout_weight を 1 に設定します。

機能させるには、高さまたは幅を 0px に設定する必要もあります。

http://developer.android.com/guide/topics/ui/declaring-layout.html#CommonLayouts

于 2012-12-18T05:38:40.680 に答える