我有一个imageView作为布局xml中RelativeLayout的子项,我正在尝试以编程方式添加等效项。
我可以将layout_below
映射到LayoutParams.addRule(BELOW, textView2)
,将layout_centerHorizontal
映射到LayoutParams.addRule(CENTER_HORIZONTAL, TRUE)
但是如何以编程方式添加layout_marginTop="30p"
作为规则?
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2d62ff"
android:id="@+id/rippleLayout2"
android:layout_weight="0.91">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="top text"
android:id="@+id/textView2"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/pizzahut"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp" />
答案 0 :(得分:0)
RelativeLayout.LayoutParams
是一个MarginLayout.LayoutParams
,它有多个setMargins()
重载和公共{top,left,right,bottom}Margin
字段。
答案 1 :(得分:0)
设置顶部的边距,如下所示:
RelativeLayout.LayoutParams relativeParams = RelativeLayout.LayoutParams)relativeLayout.getLayoutParams();
layoutParams.setMargins(0, 80, 0, 0);