我想在一个LinearLayout中添加一些图片。
图片的xml是这样的。
<ImageView
android:id="@+id/iv_card27"
android:layout_width="50dp"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:scaleType="centerInside"
app:srcCompat="@drawable/back" />
这是我的java代码,我已经试过了。
ImageView card = new ImageView(this);
card.getLayoutParams().width = 50;
card.getLayoutParams().height = ViewGroup.LayoutParams.MATCH_PARENT;
card.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
card.setImageResource(R.drawable.back);
bottomRow.addView(card);
但我一直在努力添加边距,我还担心宽度,我把它设置为50,但实际上应该是50dp。但它实际上应该是50dp。我怎样才能做到这一点呢?
你必须用特定的代码来安排边距。
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(xxx,xxx,xxx,xxx);
card.setLayoutParams(params);
你可以使用ViewGroup.MarginLayoutParams , RelativeLayout.LayoutParams或LinearLayout.LayoutParams来设置布局边距。
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.setMargins(left, top, right, bottom);
card.setLayoutParams(params);
https:/developer.android.comreferenceandroidviewViewGroup.MarginLayoutParams。
用于设置ImageView的边距。
MarginLayoutParams marginParams = new MarginLayoutParams(image.getLayoutParams());
marginParams.setMargins(left_margin, top_margin, right_margin, bottom_margin);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
card.setLayoutParams(layoutParams);