防止图像和按钮重叠

时间:2013-07-23 11:39:53

标签: android layout android-button

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    <ImageView
        android:id="@+id/showImg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:contentDescription="@string/showImg"
    />

    <Button
        android:id="@+id/photo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/showImg"
        android:text="@string/photo" 
    />
</RelativeLayout>

当我在代码图片视图上方运行时,会看到照片按钮。

我应该如何避免它?

1 个答案:

答案 0 :(得分:1)

您有两种选择:

1-使用LinearLayout:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical">
  <ImageView
         android:id="@+id/showImg"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:contentDescription="@string/showImg"
      />

     <Button
         android:id="@+id/photo"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="@string/photo" />
 </LinearLayout>

2-使用属性layout_below:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView
        android:id="@+id/showImg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:contentDescription="@string/showImg"
    />

    <Button
        android:id="@+id/photo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/showImg"
        android:text="@string/photo" 
    />
</RelativeLayout>

我假设您想要按钮上方的图像。否则,您可以使用layout_above,layout_toLeftOf或layout_toRightOf。