2011-06-20 11 views
1

私はボタンの配列を作成しましたが、すべてのボタンは垂直の順序で配置されています。
私は3つのボタンを1つの行に、次の3つのボタンを2番目の行に入れたい、といった具合です。ボタンの配置

ここに私のコードは、どこでそれを行う必要がありますチェックしてください。

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LinearLayout layout = (LinearLayout)findViewById(R.id.liLayout); 
    for (int i = 1; i < 10; i++) 
    { 

     LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(

       LinearLayout.LayoutParams.WRAP_CONTENT, 
       LinearLayout.LayoutParams.WRAP_CONTENT 
     ); 
     Button b = new Button(this); 
     b.setText("" + i); 
     b.setId(100 + i); 
     b.setWidth(50); 
     b.setHeight(20); 
     layout.addView(b, p); 

    } 
} 

答えて

0

公共ボイドのonCreate(バンドルsavedInstanceState) {

super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
//should have a vertical orientation 
LinearLayout layout = (LinearLayout) findViewById(R.id.liLayout); 

LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(

      LinearLayout.LayoutParams.WRAP_CONTENT, 
      LinearLayout.LayoutParams.WRAP_CONTENT 
    ); 

LinearLayout rowLayout = null; **<--null will cause an exception** 
*layout.addView(rowLayout)* **<--must be added to make sure the object/element exist/not null** 

for (int i = 1; i < 10; i++) 
{ 
    if((i % 3) == 1) 
    { 
      rowLayout = new LinearLayout(this); 
      layout.addView(rowLayout, p); 
    }//if 
    Button b = new Button(this); 
    b.setText(""+ i); 
    b.setId(100+i); 
    b.setWidth(50); 
    b.setHeight(20); 
    rowLayout.addView(b, p); **<-- you can't add to rowLayout at first, because it doesn't exist yet** 
} 

}

よろしく、

ステファン
+0

ハイテクstephane..the文rowLayout =新しいのLinearLayoutを(); "コンストラクタLinearLayoutは定義されていません"と私はrowLayout = new LinearLayout(null)を与えると、その動作..しかし、実行時エラーを与える – AndroidDev

+0

私は文脈が不足していた、答えが修正されました。 – Snicolas

+0

ちょっとstephane..whatボタンは画面を水平に塗りつぶします(そしてすべて同じ大きさにしてください)。すべてのボタンの上にbecozがあります。テキストボックスを持っています。どのようにしてこれらすべてを統合して、すべてが画面いっぱいになるようにしますか?水平に – AndroidDev

0

コピー、ペースト、楽しむ..

<RelativeLayout android:layout_width="wrap_content" 
       android:layout_height="wrap_content"> 

<Button android:id="@+id/button1" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:text="Button1"/> 

<Button android:id="@+id/button2" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_toRightOf="@+id/button1" 
     android:layout_alignTop="@+id/button1" 
     android:layout_alignBottom="@+id/button1" 
     android:text="Button2"/> 

<Button android:id="@+id/button3" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_toRightOf="@+id/button2" android:layout_alignTop="@+id/button2" android:layout_alignBottom="@+id/button2" 
     android:text="Button3"/> 

<Button android:id="@+id/button4" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/button1" 
     android:layout_alignLeft="@+id/button1" 
     android:layout_alignRight="@+id/button1" 
     android:text="Button4"/> 

<Button android:id="@+id/button5" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/button2" 
     android:layout_alignLeft="@+id/button2" 
     android:layout_alignRight="@+id/button2" 
     android:text="Button5"/> 

<Button android:id="@+id/button6" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignLeft="@+id/button3" android:layout_alignRight="@+id/button3" 
     android:layout_below="@+id/button3" 
     android:text="Button6"/> 

<Button android:id="@+id/button7" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignLeft="@+id/button4" 
     android:layout_alignRight="@+id/button4" 
     android:layout_below="@+id/button4" 
     android:text="Button7"/> 

<Button android:id="@+id/button8" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/button5" 
     android:layout_alignLeft="@+id/button5" 
     android:layout_alignRight="@+id/button5" 
     android:text="Button8"/> 


<Button android:id="@+id/button9" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/button6" android:layout_alignLeft="@+id/button6" android:layout_alignRight="@+id/button6" 
     android:text="Button9"/> 

と、この読み:Android Layout Tricks #1

+0

ありがとう、しかし、私はすでに行っていたこと.. – AndroidDev

+0

笑...グラフィカルレイアウトツールを使用していますか?それははるかに多くの助けをしている.. –

+0

私は100個のボタンを作成する必要があったと思う..私は何をすべきか..単純にこのようなブートンの100を追加する.thinkもし私がボタンのnedd 1000。 – AndroidDev

関連する問題