我在我的 Java 代码中定义了一个 TableLayout。对于每一行,我显示三个 ImageButton。当按下其中一个按钮时,背景颜色会发生变化。为了很好地显示它,我设置了 10px 的填充。
我现在遇到的问题是,如果您按下两个相邻的按钮,您不会完全看到按钮之间的中断。所以我想知道,是否有可能在 ImageButtons 或其他解决方案上设置边距?
我在我的 Java 代码中定义了一个 TableLayout。对于每一行,我显示三个 ImageButton。当按下其中一个按钮时,背景颜色会发生变化。为了很好地显示它,我设置了 10px 的填充。
我现在遇到的问题是,如果您按下两个相邻的按钮,您不会完全看到按钮之间的中断。所以我想知道,是否有可能在 ImageButtons 或其他解决方案上设置边距?
尝试
int leftMargin = 10;
((MarginLayoutParams) imageButton.getLayoutParams()).leftMargin = leftMargin;
编辑:
如果你不使用ImageButton
在 xml 中定义,你必须这样设置LayoutParams
:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.leftMargin = 10;
b.setLayoutParams(params);
在这里,我假设您LinearLayout
在列表项中使用。
确保使用LayoutParams
控件所在的容器。在您的情况下,如果您使用任何其他类型的参数,则按钮处于TableRow
如此使用状态TableRow.LayoutParams
,控件根本不会显示。