2011-09-15 13 views
0

レイアウトの定義は次のとおりです。基本的には、2つのボタンが同じ幅になるようにしたいが、その幅は表示される文字列によって決定されます。これは、ボタンが同じ幅で、Button + EditTextコンボがスクリーンの幅?2つのボタンを同じサイズにレイアウトするにはどうすればよいですか?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/editorlinearlayout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center"> 

    <LinearLayout android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <Button android:id="@+id/setNameBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=" Set Item Name "/> 
     <EditText android:id="@+id/nameTxtBox" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    </LinearLayout> 
    <LinearLayout android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <Button android:id="@+id/setGroupBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Set Group Name"/> 
     <EditText android:id="@+id/groupTxtBox" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    </LinearLayout> 
</LinearLayout> 

編集: 私は以下示唆されたようTableLayoutを使用してみましたが、今のEditTextのは、画面の残りの部分を記入しません。下の画像とレイアウトを参照してください。

<TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

    <TableRow> 
     <Button android:id="@+id/setNameBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=" Set Item Name "/> 
     <EditText android:id="@+id/nameTxtBox" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    </TableRow> 
    <TableRow> 
     <Button android:id="@+id/setGroupBtn" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Set Group Name"/> 
     <EditText android:id="@+id/groupTxtBox" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content"/> 
    </TableRow> 
    </TableLayout> 

enter image description here

答えて

3

トリックはstrechColumnタグで上記の編集で定義されたテーブルビューを組み合わせることである。先端のための

<TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:stretchColumns="1"> 
    <TableRow> 
    <Button android:id="@+id/setNameBtn" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text=" Set Item Name "/> 
    <EditText android:id="@+id/nameTxtBox" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/> 
    </TableRow> 
</TableLayout> 
1

の3つのオプション:

  1. TableLayoutでこれを置く代わりに、あなたは現在
  2. を行っている入れ子になったのLinearLayoutの事は(垂直お子様連れの水平親に水平子供を持つ垂直親から自分のネスティングを変更
  3. しかし、 、これを可能に垂直方向の位置の問題を開き、私は、このオプションを支持していない)
  4. RelativeLayoutとlayout_のすべてを使用*は、RelativeLayoutの子供たちはそれら
に利用できる持っていることを属性

私はオプション1を個人的に好むでしょう。

+0

おかげで、どのように私は、画面の残りの部分を埋めるためのEditTextを得ることができます – slayton

0

layout_width = "150dip"のように、laout_width/layout_heightに特定の幅と高さを使用できます。あなたはすべてのあなたのテキストにフィットすることができないボタンを持つリスクを実行するが、テキストが修正されている場合は、それがすべて良いことを確認するために再確認することができます。

関連する問題