我正在制作一个远程应用程序,所以我需要不同数量的按钮,按照表格和桌面分组。
我可以在设计时通过xml创建修复的(必须可用),利用布局使所有按钮都适合每个分辨率。
但是我必须在运行时创建按钮。 为了使它们的行为与固定的相同,我需要分配布局宽度,高度和重量值。
我正在搜索整个文档,但总是用XML完成,没有关于运行时/匹配例程的说法。
这甚至可能吗? 我怎样才能创建一个全方位的按钮网格?
非常感谢!
答案 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
的按钮。请根据您的具体需求进行调整,或阅读链接文档以获取更多帮助等。