小编典典

如何使用代码而不是 xml 设置 ImageView 的边距

all

ImageView我想用边距向我的布局添加未知数量的视图。在 XML 中,我可以layout_margin这样使用:

<ImageView android:layout_margin="5dip" android:src="@drawable/image" />

ImageView.setPadding(),但没有ImageView.setMargin()。我认为它是这样的ImageView.setLayoutParams(LayoutParams),但不知道该输入什么。

有人知道吗?


阅读 65

收藏
2022-07-08

共1个答案

小编典典

android.view.ViewGroup.MarginLayoutParams有方法setMargins(left, top, right, bottom)。直接子类是FrameLayout.LayoutParamsLinearLayout.LayoutParamsRelativeLayout.LayoutParams

使用例如LinearLayout

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
imageView.setLayoutParams(lp);

边距布局参数

这以像素为单位设置边距。要扩展它,请使用

context.getResources().getDisplayMetrics().density

显示指标

2022-07-08