在代码中设置视图的下边距无效

时间:2014-02-28 09:12:14

标签: android android-layout android-view android-xml

我在代码中设置图像视图的边距时遇到问题。尝试将ivSmall图像设置为具有相同的底部和右边距,右边设置但图像仍然与相对父布局的死角对齐

 <RelativeLayout
            android:id="@+id/layoutImages"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <ImageView
                android:id="@+id/ivBig"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:adjustViewBounds="true"
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:scaleType="centerCrop" />

            <ImageView
                android:id="@+id/ivSmall"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:background="@color/border_grey"
                android:adjustViewBounds="true"
                android:padding="1dp" />

</RelativeLayout>

我必须在代码中弄清楚图像的大小,这样我在XML中设置的任何布局参数都会被覆盖

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(mapHeight, mapHeight);

params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.setMargins(0, 0, mapOffset, mapOffset);
viewHolder.ivSmall.setLayoutParams(params);

变量mapOffset是一个dp到px的整数。它不是空的和正面的,我可以将它设置为任意的东西,右边距将始终设置但仍然保持在父节点的底部。

1 个答案:

答案 0 :(得分:0)

为什么不

params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM|RelativeLayout.ALIGN_PARENT_RIGHT);