假设我有一个图像图标,我想将图标中心与其父视图左侧之间的距离设置为20dp,图标的大小可能会发生变化。我怎么能实现这个呢?
类似于iOS约束中的CenterX,当您创建约束时,您可以选择来自Leading,Trailing还是CenterX。但我在Android上找不到类似的东西。
更新: 看到下图,红色矩形内的图标,我想使从centerX到窗口左侧的距离为20dp。 marginLeft从图标左侧算起,不是我想要的。我确实有解决方案,比如将所有图标修复到相同的大小,或者将图标包装在另一个ViewGroup中,并使ViewGroup大小固定,只是好奇,如果像iOS上的centerX约束那样。
答案 0 :(得分:0)
这看起来像是列表的一部分,所以我假设你的布局中只有一个图标。
FrameLayout
,宽40dp,图标居中
<FrameLayout
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginRight="-8dp">
<ImageView
android:layout_gravity="center_horizontal"/>
</FrameLayout>
如果40dp包装太宽,请设置一个负右边距以减少它(如图所示)。