如何在RelativeLayout中将ImageButton放在ImageView上

时间:2015-07-29 14:07:39

标签: android imageview relativelayout

enter image description here

我想在我的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"/>

5 个答案:

答案 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();

希望它有所帮助!