在另一个imageview上设置一个imageview - xml

时间:2014-11-04 07:24:32

标签: android xml image android-layout

我有两个图像视图,我想在第一个图像上设置第二个图像视图,如下图:

enter image description here

第一张图片:

enter image description here

第二张图片(片刻):

enter image description here

我该怎么办?

我写了下面的代码,但它不能正常工作:

    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"       
        android:scaleType="fitXY"
        android:src="@drawable/ic_moment"
        />

    <ImageView
         android:id="@+id/img_view_item_main_list"
         android:layout_width="fill_parent"
         android:layout_height="220dp"
         android:scaleType="fitXY"       
         android:src="@drawable/testtesttest" />

7 个答案:

答案 0 :(得分:5)

使用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/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/t" />

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

</FrameLayout>

第二张图片位于顶部

答案 1 :(得分:3)

尝试做如下的事情

<RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@color/white" >

    <ImageView
        android:id="@+id/inside_imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dip"
        android:layout_marginTop="5dip"
        android:src="@drawable/frame" />

      <ImageView
         android:id="@+id/outside_imageview"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignTop="@id/inside_imageview"
         android:layout_alignBottom="@id/inside_imageview"
         android:layout_alignLeft="@id/inside_imageview"
         android:layout_alignRight="@id/inside_imageview"            
         android:scaleType="fitXY" />
  </RelativeLayout>

您也可以访问how to place an image over another one on android app?

答案 2 :(得分:2)

请尝试这种方式,希望这有助于您解决问题。

将FrameLayout作为父级并设置顶部图像布局重力顶部并让。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        android:src="@drawable/ic_moment" />

    <ImageView
        android:id="@+id/img_view_item_main_list"
        android:layout_width="wrap_content"
        android:layout_height="220dp"
        android:scaleType="fitXY"
        android:layout_gravity="top|left"
        android:src="@drawable/testtesttest" />

</FrameLayout>

答案 3 :(得分:2)

尝试这样,

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/ic_launcher" >

    <ImageView
        android:id="@+id/img_view_item_main_list"
        android:layout_width="fill_parent"
        android:layout_height="220dp"
        android:adjustViewBounds="true"
        android:scaleType="fitXY"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        android:layout_gravity="top|left"
        android:src="@drawable/ic_launcher" />

</FrameLayout>

希望它会帮助你

答案 4 :(得分:2)

像这样使用它。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView  
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:scaleType="center"
    android:src="@drawable/golden_gate" />

   <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="20dip"
       android:layout_gravity="center_horizontal|bottom"
       android:padding="12dip" 
       android:src="@drawable/logo"/>

</FrameLayout>

答案 5 :(得分:0)

您可以使用以下布局

之类的内容
<RelativeLayout 
android:layout_width="match_parent" // This you can change as per your requirement
android:layout_height="match_parent" // This you can change as per your requirement
>

<ImageView
     android:id="@+id/img_view_item_main_list"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:scaleType="fitXY"       
     android:src="@drawable/testtesttest"
     android:layout_centerInParent="true"
     />

</RelativeLayout>

希望这会对你有所帮助。

答案 6 :(得分:0)

您还可以将图层列表用作drawable,并将其作为图像视图的背景。

my_image.xml&gt;将其保存在可绘制文件夹

<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:drawable="your_image_1"
    android:top="dimension"
    android:right="dimension"
    android:bottom="dimension"
    android:left="dimension" />
<item
    android:drawable="your_image_2"
    android:top="dimension"
    android:right="dimension"
    android:bottom="dimension"
    android:left="dimension" />
</layer-list>

并在图片视图中。

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="fitXY"
    android:layout_gravity="top|left"
    android:drawable="@drawable/my_image"/>

通过这种方式,您可以添加多个图像,使其更有趣。只需确保它是png格式并将图像的背景设置为透明。