以编程方式为ImageView添加边距

时间:2012-11-05 04:15:47

标签: android android-layout

我有一个表格布局,其中每一行都是以编程方式构建的。

对于每一行,结构基本上是:

TextView,LinearLayout,LinearLayout,LinearLayout,Button。

每个LinearLayout都有多个ImageView。我想增加ImageView项目之间的间距,因为它们在边框触摸时呈现。

我在这里尝试了这些建议 - In Android, how to make space between LinearLayout children? - 我创建了如下参数:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.WrapContent);

在添加控件时将其设置为图像视图:

linearLayout1.AddView(image1);
linearLayout1.AddView(image2, layoutParams);
linearLayout1.AddView(image3);

注意我只在中间项目上设置为左和右;对于我想要达到的目标而言,对此的正确保证金是合适的。

问题在于,即使没有在布局参数上设置任何边距,即只是实例化它并如上所示设置它,它会向左边增加大约35px的边距,导致比我想要的边缘大得多。即使用1px调用SetMargins也不会改变边距。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

将线性布局的宽度设置为像此一样的WrapContent

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WrapContent, LinearLayout.LayoutParams.WrapContent);