2013-05-06 72 views
0

我已經動態地創建了一排按鈕,但其中一個按鈕有更多的文本。該行中的按鈕與包含更多文本的按鈕具有相同的大小,但這些按鈕行比其他行中的其他按鈕大。下面是我的代碼:如何在Android中使所有行中的按鈕大小相同?

LinearLayout dynamicview = (LinearLayout)findViewById(R.id.buttons); 

    for (int i = 0; i < 3; i++) { 
      LinearLayout row = new LinearLayout(this); 
      row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

      for (int j = 0; j < 5; j++) { 
       Button btnTag = new Button(this); 
       LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
         LayoutParams.MATCH_PARENT, 
         LayoutParams.MATCH_PARENT,1.0f); 

       btnTag.setLayoutParams(param); 
       Display display=getWindowManager().getDefaultDisplay(); 
       int width=display.getWidth(); 

       btnTag.setText("" + (j + 1 + (i * 5))); 
       btnTag.setId(j + 1 + (i * 5)); 
       btnTag.setWidth(width/5); 


       if(btnTag.getId() == 13) { 

        btnTag.setText("has more txt"); 

       } 
       if(btnTag.getId() == 14) { 
        btnTag.setVisibility(View.INVISIBLE); 
       } 
       if(btnTag.getId() == 15) { 
        btnTag.setText("C"); 
       } 
       row.addView(btnTag); 

      } 

      dynamicview.addView(row); 
} 

其中R.id.buttons在XML是:

<LinearLayout 
    android:id="@+id/buttons" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_alignParentBottom="true"> 
</LinearLayout> 

可否請你讓我知道是否有任何方式,我可以讓所有3行的按鈕有相同的寬度和高度?

謝謝。

回答

0

setGravity(..)'center'should be working。您也可以嘗試列拉伸模式。你的代碼有點令人困惑,因爲它看起來比它應該做得更多。

我會等你的答案在我的機器模擬前和後您的代碼

相關問題