簡體   English   中英

將imageview對齊到FrameLayout的右下角

[英]Align imageview to bottom right in 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);

問題在於您正在更改布局重力,這意味着將FrameLayout放置在右下角。 但是,FrameLayout可能會填滿整個屏幕,在這種情況下,布局重力實際上並不會改變任何內容。 想象一本書完全適合放在抽屜里。 無論您如何握住抽屜,書都不會在抽屜內移動。

您要做的是使用FrameLayout本身的“ setGravity()”方法。 這將更改FrameLayout內部的實際重力。

資料來源: 如何以編程方式設置LinearLayout的重力和布局重力

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM