动态设置图像视图的边距

Posted

技术标签:

【中文标题】动态设置图像视图的边距【英文标题】:Setting margins for an imageview dynamically 【发布时间】:2011-10-28 10:46:10 【问题描述】:

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

【问题讨论】:

试试这个:***.com/questions/3416087/… 【参考方案1】:

动态创建布局并将其参数设置为 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)

【讨论】:

【参考方案2】:

您可能正在寻找这样的东西: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 等属性。

【讨论】:

如何设置相对布局的边距?

以上是关于动态设置图像视图的边距的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 flexbox 均匀地显示内容卡,包括边距边 [重复]

Xcode 6 现在是不是给视图提供 16 个点的边距?

如何从 ListView 的右边缘设置垂直滚动条的边距?

android中编辑文本内的边距

在代码中设置 textview 的边距和重力不起作用

调整大小时 QGraphicsView 中项目位置的边距