【问题标题】:how to set height and width of the Dynamic button created?如何设置创建的动态按钮的高度和宽度?
【发布时间】:2014-01-07 05:32:27
【问题描述】:

我想创建圆形按钮。所以我从这里得到了提示 How to get round shape in 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--;
}

我也试过了,但是没用

TableLayout.LayoutParams lp = new TableLayout.LayoutParams(5,5);
btn[i].setLayoutParams(lp);

谁能告诉我问题出在哪里?我如何获得圆形页岩按钮而不是椭圆形?

【问题讨论】:

  • 首先欢迎来到 Stack Overflow。现在第一件事在这里问问题之前。您是否尝试在互联网上搜索您的问题???你可以在那里得到一切
  • @RonakBhatt 我试过了,也如代码所示,我尝试了从堆栈溢出本身得到的两件事,但没有奏效。
  • 您是否遇到任何错误???或者它只是剂量工作?/
  • 不,我没有收到任何错误。它只是我希望按钮是圆形的,我得到的是椭圆形,就是这样。
  • 你可以让它成为可能,但调整高度和宽度....你试过调整高度和宽度吗?就像您在这里 1 1 尝试使用 1 2 或 2 1 并检查结果... Nad remove */ from the code.

标签: android android-layout


【解决方案1】:

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

Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tblRow.addView(btnTag);

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

Button btnTag = new Button(this);
btnTag.setLayoutParams(new LayoutParams(30, 30));
tblRow.addView(btnTag);

【讨论】:

  • 我没有工作它没有给我任何错误。但是现在我的屏幕没有显示任何东西,甚至椭圆形按钮都不见了
  • 因为您没有在布局中再次设置按钮。这就是它不显示的原因。
  • 我这样做了仍然没有显示。
  • 可能因为 LayoutParams(30, 30) 而导致它非常小。改为 btnTag.setLayoutParams(new LayoutParams(300, 300));
【解决方案2】:

我有这个,它对我有用。

final Button bt = new Button(ClassListActivity.this);
bt.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 450));

MATCH_PARENT 的第一个是宽度。 450是高度。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2023-03-23
    • 2015-06-24
    • 1970-01-01
    相关资源
    最近更新 更多