【发布时间】:2011-05-14 15:41:30
【问题描述】:
我正在以编程方式将自定义视图添加到垂直 LinearLayout,并且我希望视图之间有一些空间。我尝试将: setPadding(0, 1, 0, 1) 添加到我的 CustomView 构造函数中,但这似乎没有任何效果。有什么建议吗?
*有人指出我应该使用边距。由于我是动态添加视图,因此我需要从代码中设置边距(而不是在 xml 中)。我相信执行此操作的方法如下,但它不起作用。
public class MyView extends View
{
public MyView (Context context)
{
super(context);
MarginLayoutParams params = new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 10, 0, 10);
setLayoutParams(params);
*编辑。在将视图添加到线性布局时,我还尝试使用 MarginLayoutParams 作为参数(如下所示)。这也不起作用:
MarginLayoutParams params = new MarginLayoutParams(linearLayout.getLayoutParams());
linearLayout.setMargins(0, 10, 0, 10);
linearLayout.addView(view, params);
【问题讨论】:
-
如果您添加了要添加视图的 XML 文件,这可能会有所帮助。
-
这是一篇很棒的博客文章:Grid Spacing on Android by Cyril Mottier
标签: android