我有一个带有单元格的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 :(得分:0)
当您将按钮添加到表格行而不是使用buttons.add(button);
时,请使用buttons.add(button, new TableRow.LayoutParams(100, 100));
,这会使按钮的大小为100x100。