2016-06-12 41 views
0

我有細胞TableLayout,填充像這樣:如何創建一個按鈕,縮放文本

TableLayout tableLayout = (TableLayout) getActivity().findViewById(R.id.button_table); 

    for (int y = 0; y < 4; y++) { 
     TableRow row = new TableRow(getActivity()); 
     row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); 

     for (int x = 0; x < 3; x++) { 
      Button button = new Button(getActivity()); 
      button.setText("Button"); 
      button.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); 
      button.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        mainPresenter.processAction(((Button)v).getText().toString()); 
       } 
      }); 
      buttons.add(button); 
      row.addView(button); 
     } 

     tableLayout.addView(row, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT)); 
    } 

這工作得很好下手,但有時按鈕有自己的文字設置的東西,太大的分配寬度。這導致按鈕擴展以容納文本。

我希望它能以其他方式工作 - 按鈕保持其分配的寬度,而使用的字體縮小以確保文本適合按鈕。我怎樣才能做到這一點?

回答

0

當您將按鈕添加到表格行時,而不是使用buttons.add(button);時,請使用buttons.add(button, new TableRow.LayoutParams(100, 100));,這會使按鈕的大小爲100x100。

+0

我不想要固定大小的按鈕 - 我只想讓它們中顯示的文本適合可用大小。 – user3690202