2011-04-06 50 views
2

添加按鈕之間的空間,我發現這個例子如何在同一行

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     TableLayout layout = new TableLayout (this); 
     layout.setLayoutParams(new TableLayout.LayoutParams(20,20)); 

     layout.setPadding(1,1,1,1); 



     for (int f=0; f<=3; f++) { 
      TableRow tr = new TableRow(this); 
      tr.setPadding(10,10,10,10); 

      for (int c=0; c<=3; c++) { 


       Button b = new Button (this); 
       b.setText(""+f+c); 
       b.setTextSize(10.0f); 
       b.setPadding(10, 10, 10, 10); 

       b.setTextColor(Color.rgb(100, 200, 200)); 
       b.setBackgroundColor(Color.BLUE); 
       b.setOnClickListener(this); 
       b.setWidth(24); 
       b.setHeight(24); 
       tr.addView(b); 
      } // for 
      layout.addView(tr); 
     } // for 

     super.setContentView(layout); 
    } //() 

我需要的按鈕矩陣(類似於網格佈局中的Java)。這段代碼中的問題是我在同一行的列之間沒有任何空格。如何在同一行中的按鈕之間添加空格?

+0

所以當你編譯這個時,在任何按鈕之間沒有填充? – locoboy 2011-04-06 19:57:33

回答

4

我認爲你需要爲你的按鈕設置邊距,因爲填充只能縮小按鈕的頂層而不是它的背景。下面是一個例子,如何做到在代碼中類似的事情:Programmatically set margin for TableRow

但是,在這個例子中,你需要更改父容器的TableRow,因爲佈局參數總是指其直屬母公司,這對你的扣子的TableRow。