我试图将我的一个视图放在相对布局中。我正在使用以下代码:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.21"
android:id="@+id/atm_map_legend_view">
<ImageButton
android:id="@+id/atm_icon_legend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
android:layout_marginRight="10dp"
android:background="@null"
android:src="@drawable/help_icon"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/icon_legend_point"
android:src="@drawable/blurb_point_down"
android:layout_alignParentTop="true"
android:layout_alignLeft="@+id/atm_icon_legend"
android:layout_marginLeft="6dp"
android:visibility="invisible"/>
</RelativeLayout>
这会得到以下结果:
如您所见,ImageButton
不是垂直居中的。使用android:gravity
可以正常工作,但当弹出时会使ImageView
混乱(导致它向下移动,与ImageButton
重叠。)
关于为什么这不是我ImageButton
的中心的任何想法?
答案 0 :(得分:1)
您是否尝试过android:layout_centerVertical="true"
?
像这样:
<RelativeLayout
android:background="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.21"
android:id="@+id/atm_map_legend_view">
<ImageButton
android:id="@+id/atm_icon_legend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:layout_marginRight="10dp"
android:layout_marginEnd="10dp"
android:background="@null"
android:src="@mipmap/ic_launcher"/>
</RelativeLayout>