Skip to content Skip to sidebar Skip to footer

Setting Margins For An Imageview Dynamically

may I know how to set margin in imageview dynamically?

Solution 1:

You're probably looking for something like this: http://developer.android.com/reference/android/view/View.html#setLayoutParams(android.view.ViewGroup.LayoutParams)

Note this part of the method description though:

These supply parameters to the parent of this view specifying how it should be arranged

Which means that if you have an ImageView inside of a LinearLayout, you need to supply the method with LinearLayout.LayoutParams, like this:

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

And then you just call setMargins or set the specific leftMargin, bottomMargin etc. properties of the LayoutParams.

Solution 2:

create layout dynamically and set its parameter as setmargin() will not work directly on an imageView

ImageView im;
im = (ImageView) findViewById(R.id.your_image_in_XML_by_id);
 RelativeLayout.LayoutParamslayout=newRelativeLayout.LayoutParams(im.getLayoutParams());
                        layout.setMargins(counter*27, 0, 0, 0);//left,right,top,bottom
                        im.setLayoutParams(layout);
                        im.setImageResource(R.drawable.yourimage)

Post a Comment for "Setting Margins For An Imageview Dynamically"