如何设置按钮背景图像以动态地包装表格布局中的内容

时间:2010-12-29 15:05:47

标签: android android-layout tablelayout

我在下面实现tablelayout动态代码。

private void showCowsTblField() {
    for (int row = 0; row < numberOfRowsInField - 1; row++) {
        TableRow tableRow = new TableRow(this);
        tableRow.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                LayoutParams.WRAP_CONTENT));
        for (int column = 0; column < numberOfColumnsInField - 1; column++) {
            LayoutParams layoutParams = new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            if (column == 0) {
                textSno[row][column].setLayoutParams(layoutParams);
                layoutParams.setMargins(0, 0, 0, 0);
                tableRow.addView(textSno[row][column]);
            } else {
                blocks[row][column].setLayoutParams(layoutParams);
                layoutParams.setMargins(1, 1, 1, 1);
                tableRow.addView(blocks[row][column]);
            }
            tableRow.setBackgroundResource(R.drawable.bar_1);
        }
        tblCows.addView(tableRow, new TableLayout.LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    }
}

这里的块是一个类扩展Button类, 在这个类中我将背景图像设置为

this.setBackgroundResource(R.drawable.edit_button);

这里的问题是按钮背景图像大小(高度)正在变化以适应桌面高度。这看起来不太好。

如何在表格行中将按钮背景图像设置为实际大小(wrapcontent)。

请让我知道.... 感谢.........

2 个答案:

答案 0 :(得分:1)

看看是否有帮助 - http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

只有在使用http://developer.android.com/reference/android/widget/ImageButton.html

时才能进行设置

您的代码必须如下所示:

class MyButton extends ImageButton{...}


this.setScaleType(scaleType);

答案 1 :(得分:0)

我在课堂上尝试了以下代码;它扩展了按钮类

this.setMaxHeight(26);
this.setMaxWidth(54); 

解决了问题。:)