2013-01-12 29 views
0

當第一個按鈕數組太大時,例如大小爲12,當大小爲2時,我不會看到最後一個按鈕(bx)我看到它。爲什麼按鈕不會轉換到第二行。爲代碼中的活動創建按鈕

protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     LinearLayout linLayout = new LinearLayout(this); 
     linLayout.setOrientation(LinearLayout.HORIZONTAL); 
     LayoutParams linLayoutParam = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     setContentView(linLayout, linLayoutParam); 
     int size=20; 
     Button[] mButtonsArray = new Button[size]; 

     LayoutParams Lpx= new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

     for (int i=0; i< size;i++) 
     { 
     mButtonsArray[i]= new Button(this); 
      mButtonsArray[i].setText(name); 
      linLayout.addView(mButtonsArray[i], Lpx); 
     } 
     Button bx = new Button(this); 
     bx.setText("back"); 
     linLayout.addView(bx, Lpx); 
    } 

回答

0

因爲,你​​的重心HORIZONTAL

linLayout.setOrientation(LinearLayout.HORIZONTAL); 

,如果你想在第二行最後添加按鈕,然後你必須做出一個根的LinearLayoutVERTICAL然後與父母LinearLayout添加其他按鈕與HORIZONTAL重力並通過Gravity VERTICAL將此LinearLayout添加到Main Root LinearLayout。

0

爲什麼呢?因爲這不是如何水平LinearLayout作品按鈕不會過渡到第二排

。它將所有的孩子水平放置。

0

LinearLayout視圖不換行。所以按鈕將會超出屏幕的右邊緣,因此不可見。

你可能想探索的GridView

[http://developer.android.com/reference/android/widget/GridView.html][1]