我想在我的RelativeLayout中使用两个ImageButtons和一个ImageView来完成此操作。是否可以在不使用marginTop的情况下执行此操作?欢迎任何回复。 我的xml代码:
<ImageView
android:id="@+id/imageview"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="fitXY"
android:layout_alignParentBottom = "true"
android:src="@drawable/image1"/>
<ImageButton
android:id="@+id/imagebutton1"
android:layout_width="70dp"
android:layout_height="50dp"
android:scaleType="fitXY"
android:layout_alignParentRight="true"
android:layout_alignParentBottom = "true"
android:background="@drawable/image2"/>
<ImageButton
android:id="@+id/imagebutton2"
android:layout_width="70dp"
android:layout_height="50dp"
android:scaleType="fitXY"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom = "true"
android:background="@drawable/image3"/>
答案 0 :(得分:2)
RelativeLayouts几乎总是正确的布局,它们非常强大。在你的情况下,你可以简单地使用'android:layout_centerVertical =“true”',但摆脱'layout_alignParentBottom'
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="150dp">
<ImageView
android:id="@+id/imageview"
android:layout_width="match_parent"
android:layout_height="150dp"
android:scaleType="fitXY"
android:layout_alignParentBottom = "true"
android:src="@drawable/image1"/>
<ImageButton
android:id="@+id/imagebutton1"
android:layout_width="70dp"
android:layout_height="50dp"
android:scaleType="fitXY"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/image2"/>
<ImageButton
android:id="@+id/imagebutton2"
android:layout_width="70dp"
android:layout_height="50dp"
android:scaleType="fitXY"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@drawable/image3"/>
</RelativeLayout>
根据我的个人经验:如有疑问,请使用RelativeLayout。
答案 1 :(得分:1)
我建议在这种情况下使用FrameLayout
。在FrameLayout
中,z-index由添加项的顺序定义。因此,FrameLayout
中的最后一个元素应为ImageButton
,以便在ImageView
之上绘制。
答案 2 :(得分:0)
你应该使用Framelayout,先添加imageView,然后再添加imageButton。
请点击此链接: http://code.tutsplus.com/tutorials/android-user-interface-design-frame-layouts--mobile-4877
http://javatechig.com/android/android-framelayout-example
使用Relativelayout你可以
。答案 3 :(得分:0)
尝试android:layout_centerVertical="true"
。
答案 4 :(得分:0)
如果我的答案正确,那么你可以在代码中做到这一点。
分配完所有视图后(findViewById(...)
次调用),在代码中添加以下行:
mMyImageButton.bringToFront();
希望它有所帮助!