1

我可以知道如何在 imageview 中动态设置边距吗?

4

2 回答 2

8

您可能正在寻找这样的东西:http: //developer.android.com/reference/android/view/View.html#setLayoutParams(android.view.ViewGroup.LayoutParams)

请注意方法描述的这一部分:

这些向该视图的父级提供参数,指定应如何排列

这意味着如果您在 LinearLayout 中有一个 ImageView,则需要为该方法提供 LinearLayout.LayoutParams,如下所示:

ImageView image = new ImageView(this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(100, 100);
params.setMargins(1, 1, 1, 1);
image.setLayoutParams(params);

然后您只需调用 setMargins 或设置 LayoutParams 的特定 leftMargin、bottomMargin 等属性。

于 2011-08-16T21:37:33.710 回答
0

动态创建布局并将其参数设置为 setmargin() 不会直接在 imageView 上工作

ImageView im;
im = (ImageView) findViewById(R.id.your_image_in_XML_by_id);
 RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(im.getLayoutParams());
                        layout.setMargins(counter*27, 0, 0, 0);//left,right,top,bottom
                        im.setLayoutParams(layout);
                        im.setImageResource(R.drawable.yourimage)
于 2015-04-27T17:01:54.223 回答