设置TableRow的高度

3

我有两种TableRow的内容,一种有两行,另一种只有一行。我希望它们的高度都相同。我尝试了如下代码:

tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, 80));

你有其他的想法吗?同时,如何将"80"转换为dp?


1
这是另一个关于以编程方式设置DP值的SO问题:https://dev59.com/Hm435IYBdhLWcg3wuign - Doug Stephen
这篇帖子解决了我的问题 https://dev59.com/Hm435IYBdhLWcg3wuign - coffee
3
这个问题的答案是否满意?在Android中以dp为单位编程设置宽度和高度 - Saeed All Gharaee
3个回答

1
你可以通过设置填充来设置高度。
    <TableRow

        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        >

用于动态的操作

tr.setPadding(0, 12, 0, 12);


0

你可以为行使用两种不同的布局,并在代码中动态分配它们。在你的布局中定义高度。


我想以编程的方式实现这个。 - coffee
好的。第二个参数是高度。所以你需要将其设置为wrap_content。像这样:TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT) - SBerg413
抱歉如果我表达不清楚...但是我不想使用Wrap(自动换行)...我希望像我在问题中所说的那样,定义一个数字作为我的高度。 - coffee

-1
我使用getViewTreeObserver解决了这个问题。你必须在tableLayout上调用此方法并覆盖onGlobalLayout
在此方法内部,您可以验证所有子项的高度。然后您可以确定最大高度。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接