如何设置创建的动态按钮的高度和宽度?

esw*_*aat 0 android android-layout

我想创建圆形按钮。所以我从这里得到了如何在 Android 中获得圆形的提示。正如链接中提到的,按钮的高度和重量必须具有相同的大小才能形成圆形,否则它将是椭圆形。我们不能使用 wrap_content 因为它是椭圆形的。

购买问题是现在我动态创建按钮,我尝试将按钮的高度和宽度设置为相同,但我仍然得到椭圆形按钮而不是圆形。

我尝试通过 xml 文件保持按钮的重量和高度相同它的工作,但通过动态它不是。下面是代码。

for (int count = 1; count <= rowb; count++) 
{
tblRow[count] = new TableRow(getApplicationContext());
tbl.addView(tblRow[count]);

    for (int j = 1; j <= rowb; j++) {   
    String nameB=""+i;
    btn[i] = new Button(getApplicationContext());
    btn[i].setId(i);
    btn[i].setText(nameB);
    btn[i].setWidth(1);
    btn[i].setHeight(1);
    tblRow[count].addView(btn[i]);
    btn[i].setOnClickListener(getOnClickDoSomething(btn[i],i));
    i++;
    }
}
notifyAllObservers();
move--;
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过,但它也确实有效

TableLayout.LayoutParams lp = new TableLayout.LayoutParams(5,5);
btn[i].setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道问题是什么吗?我如何获得圆形页岩按钮而不是椭圆形?

Sag*_*yad 5

您可以通过以下代码设置宽度和高度:

Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tblRow.addView(btnTag);
Run Code Online (Sandbox Code Playgroud)

或者您也可以在其中设置 wrap_content 的 dp instend 。喜欢:

Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(30, 30));
tblRow.addView(btnTag);
Run Code Online (Sandbox Code Playgroud)