[英]How to layout a view that count margin from it's center instead of top-left on Android?
假設我有一個圖像圖標,我想將圖標中心與父視圖左側之間的距離設置為20dp,則圖標的大小可能會更改。 我該如何實施?
就像iOS中的CenterX約束一樣,當您創建約束時,您可以從Leading,Trailing或CenterX中進行選擇。 但是我在Android上找不到任何類似的東西。
更新:請參見下圖,紅色矩形內的圖標,我要將從centerX到窗口左側的距離設為20dp。 marginLeft從圖標的左側算起,不是我想要的。 我確實有一些解決方案,例如將所有圖標固定為相同大小,或將圖標包裝在另一個ViewGroup中並固定ViewGroup大小,只是想知道是否存在iOS上的centerX約束之類的方法。
這看起來像是列表的一部分,因此我假設您的布局中有一個圖標。
寬40dp的FrameLayout
,圖標居中
<FrameLayout
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginRight="-8dp">
<ImageView
android:layout_gravity="center_horizontal"/>
</FrameLayout>
如果40dp包裝器的寬度太大,請設置負的右邊緣以減小它(如圖所示)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.