在ImageLayout中将imageview对齐到右下角

时间:2016-05-02 17:50:31

标签: android android-layout android-imageview android-framelayout

我使用下面的代码将imageview与右下角对齐,FrameLayout内部的边距为20,10,但它出现在左上角。我哪里出错了?

 ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(refreshBtn.getLayoutParams());
    marginParams.setMargins(0, 0, 20, 10);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(marginParams);
layoutParams.gravity=Gravity.RIGHT|Gravity.BOTTOM;
refreshBtn.setLayoutParams(layoutParams);

1 个答案:

答案 0 :(得分:-1)

问题是您正在更改布局重力,这意味着您将FrameLayout定位在右下角。但是,FrameLayout可能会填满整个屏幕,在这种情况下,布局重力并没有真正改变任何东西。想象一本完全适合抽屉的书。无论你如何拿着抽屉,这本书都不会在里面移动。

您需要做的是使用FrameLayout本身的“setGravity()”方法。这将改变FrameLayout内的实际重力。

来源: How to set both gravity and layout gravity of a LinearLayout programatically