动态设置图像视图的边距

时间:2011-08-16 21:20:42

标签: android android-imageview margins

我可以知道如何动态设置图像视图中的边距吗?

2 个答案:

答案 0 :(得分:7)

您可能正在寻找类似的内容: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等属性。

答案 1 :(得分: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)