如何在运行时设置按钮的布局宽度?

时间:2010-10-15 15:54:07

标签: android layout

我正在制作一个远程应用程序,所以我需要不同数量的按钮,按照表格和桌面分组。

我可以在设计时通过xml创建修复的(必须可用),利用布局使所有按钮都适合每个分辨率。

但是我必须在运行时创建按钮。 为了使它们的行为与固定的相同,我需要分配布局宽度,高度和重量值。

我正在搜索整个文档,但总是用XML完成,没有关于运行时/匹配例程的说法。

这甚至可能吗? 我怎样才能创建一个全方位的按钮网格?

非常感谢!

1 个答案:

答案 0 :(得分:4)

Button应该从TextView继承setWidth(int pixels)(因为它扩展了它)。你尝试过使用它吗? E.g:

myButton.setWidth(100);
myButton.setHeight(50);
//Now myButton is 100px wide and 50px tall

当您在文档的Button页面上查找方法时,请务必展开“继承的方法”的下拉列表。您可能还想展开“继承的属性”。

编辑:好的,我会咬人 - 如果你想保持屏幕独立性,你需要使用dip单位。文档讨论了这个here,但它将类似于以下内容:

//Find screen density scale factor
final float scale = getContext().getResources().getDisplayMetrics().density;

int width = (int)(100 * scale) // Or whatever width you want
int height = (int)(50 * scale) // Or whatever height you want
myButton.setWidth(width);
myButton.setHeight(height);

注意:这是一个例子。这不是生产代码。您可能没有名为myButton的按钮。请根据您的具体需求进行调整,或阅读链接文档以获取更多帮助等。