android - 以编程方式为 TableRow 设置边距

标签 android

我在代码中动态创建了 TableRows,我想为这些 TableRows 设置边距。

我的TableRows创建如下:

// Create a TableRow and give it an ID
        TableRow tr = new TableRow(this);       
        tr.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));  
        Button btnManageGroupsSubscriptions = new Button(this);
        btnManageGroupsSubscriptions.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 40));

        tr.addView(btnManageGroupsSubscriptions);
        contactsManagementTable.addView(tr);

如何动态设置这些边距?

最佳答案

您必须正确设置 LayoutParams。 Margin 是布局的属性,而不是 TableRow 的属性,因此您必须在 LayoutParams 中设置所需的边距。

这是一个示例代码:

TableRow tr = new TableRow(this);  
TableLayout.LayoutParams tableRowParams=
  new TableLayout.LayoutParams
  (TableLayout.LayoutParams.FILL_PARENT,TableLayout.LayoutParams.WRAP_CONTENT);

int leftMargin=10;
int topMargin=2;
int rightMargin=10;
int bottomMargin=2;

tableRowParams.setMargins(leftMargin, topMargin, rightMargin, bottomMargin);

tr.setLayoutParams(tableRowParams);

关于android - 以编程方式为 TableRow 设置边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577644/

相关文章:

android - ADB 看不到我的设备

android - flutter 插件 : invoking iOS and Android method including parameters not working

android - 无法执行 dex : Multiple dex files define Lorg/apache/cordova/App$1

java - 关于位置管理器的问题

android - 如何为 Android 和 iOS 使用相同的 Cucumber 步骤定义

android - 如何在Linux上安装Mobogenie?

android - "react-native run-android"- 构建成功但出现错误类型 3 错误 : Activity class MainActivity does not exist

java - 为什么 Android 套接字周期性读取如此缓慢?

java - 如何构建android UIAutomator 项目?

android - ScrollView 内的 ListView 仅显示一个列表项?如何显示所有列表项