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

标签 android layout

我正在制作一个远程应用程序,因此我需要不同数量的按钮,按表格 View 和表格行分组。

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

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

我正在搜索整个文档,但它总是以 XML 格式完成,没有关于运行时/匹配例程的任何信息。

这可能吗? 我还能如何创建一个适合所有侧面的按钮网格?

非常感谢!

最佳答案

按钮应该继承setWidth(int pixels)来自 TextView (因为它扩展了它)。你尝试过使用它吗?例如:

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

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

编辑:好吧,我会咬你 - 如果你想保持屏幕独立性,你需要使用倾角单位。文档讨论了这个 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 的按钮。请根据您的具体需求进行调整或阅读链接文档以获取更多帮助等。

关于android - 如何在运行时设置按钮的布局宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3943898/

相关文章:

android - 部分覆盖资源

php - 为什么完全相同版本的谷歌浏览器显示不同的布局?

html - Bootstrap 3 - 一行中的单列,但不是 col-md-12

layout - JavaFX 中具有自动拉伸(stretch)图 block 的 TilePane

java - 了解Android中的R类

java - 我在服务中做错了什么?

android - 如何在android中创建多 Pane 布局

Android Marshmallow - 权限状态更改

css - 将列表显示为菜单,然后展开 div 以填充剩余宽度

html - 为什么 Firefox 会截断我的 <input type ="text"/> 中的文本?