Setting margins for an imageview dynamically

2019-07-31 16:19发布

may I know how to set margin in imageview dynamically?

2条回答
该账号已被封号
2楼-- · 2019-07-31 16:43

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.

查看更多
唯我独甜
3楼-- · 2019-07-31 16:48

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.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)
查看更多
登录 后发表回答