如何创建带缩放文本的按钮

时间:2016-06-12 08:17:28

标签: android

我有一个带有单元格的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));
    }

这很好地开始,但有时按钮的文本设置为对于分配的宽度来说太大的东西。这会导致按钮扩展以容纳文本。

我希望它以相反的方式工作 - 按钮保持其指定的宽度,而使用的字体缩小以确保文本适合按钮。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

当您将按钮添加到表格行而不是使用buttons.add(button);时,请使用buttons.add(button, new TableRow.LayoutParams(100, 100));,这会使按钮的大小为100x100。