如何在android中布局叠加图像

时间:2015-01-28 09:54:59

标签: android android-layout

我在布局中有两个图像。我想在第一个图像的下边缘曲线中显示第二个图像。可以告诉任何人如何做叠加图像

由于

4 个答案:

答案 0 :(得分:3)

使用FrameLayout:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/imgFirst"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"/>

    <ImageView
        android:id="@+id/imgSecond"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center"
        android:src="@drawable/ic_launcher"/>
</FrameLayout>

答案 1 :(得分:0)

使用框架布局,如下例所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll_home_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusable="true"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@android:color/black"
        android:gravity="center_vertical"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="35dp"
            android:layout_height="35dp"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/ic_drawer"
            android:src="@drawable/logo" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="14dp"
            android:src="@drawable/menu" />

        <ImageView
            android:id="@+id/ic_drawer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignTop="@+id/textView1_detail"
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:src="@drawable/ic_drawer" />

        <TextView
            android:id="@+id/textView1_detail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="15dp"
            android:layout_toRightOf="@+id/imageView1"
            android:text="Reports"
            android:textColor="@android:color/white"
            android:textSize="18sp" />
    </RelativeLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

           <ImageView
            android:id="@+id/overlay_favorite"
            android:layout_width="215dp"
            android:layout_height="134dp"
            android:layout_gravity="right"
            android:background="@drawable/overlay_favorite"
            android:visibility="gone" />
    </FrameLayout>

</LinearLayout>

答案 2 :(得分:0)

使用RelativeLayout,简单地将第二个ImageView放在第一个ImageView下面。然后你要做的是将第二张图片的marginTop属性设置为负值,这个值是重叠的大小,就像这个android:layout_marginTop="-1dp"一样。

下面的示例代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    >

    <ImageView           
        android:layout_width="wrap_content"           
        android:layout_height="wrap_content"
        android:id="@+id/firstImage"
        android:src="@drawable/myimage1"           
     />    

    <ImageView
        android:layout_width="wrap_content"
        android:layout_marginTop="-1dp"
        android:layout_height="wrap_content"
        android:id="@+id/secondImage"
        android:layout_below="@+id/firstImage"
        android:src="@drawable/myimage2"
     />  

</RelativeLayout>

答案 3 :(得分:0)

如果您使用alignParentalXXX标记,则可以不使用Frames,仅使用RelativeLayout,如下例所示

["b a hello", "Hi"]

您可以在下图中看到此布局的外观: Visual rendering of layout