web-dev-qa-db-ja.com

androidで別の画像ビューの上に画像ビューを配置する方法

これは私のレイアウトで、これまで何も成功していませんでした

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

 <LinearLayout 
    Android:id="@+id/lltest" 
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:orientation="horizontal"
    Android:layout_centerHorizontal="true">

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

</LinearLayout>

 <ImageView 
        Android:id="@+id/outside_imageview" 
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content" 
        Android:layout_alignTop="@id/inside_imageview"
        Android:scaleType="fitXY"/>
</RelativeLayout>

私が正確に欲しいのは、outside_imageviewをinside_imageviewの上に正確な高さと幅で持つことです...レイアウトを通してそれを行う方法は?

20
Coder_sLaY
    <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>

RelativeLayoutlayout_align[Top|Bottom|Left|Right]属性は、マージン内のそれぞれのxおよびy値に基づいてビューを整列するために使用されます。 2番目のImageViewは、マージンに基づいて最初のImageViewの上部、下部、左、および右に揃えられます。配置ではパディングは無視されます。

40
DeeV

FrameLayout が必要です。 FrameLayoutである親レイアウトも単にマージできます。 Android Developers Blogをご覧ください: http://Android-developers.blogspot.it/2009/03/Android-layout -tricks-3-optimize-by.html

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

    <ImageView
        Android:id="@+id/outside_imageview" 
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:scaleType="fitXY"/>

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

FrameLayoutを試してください。 FrameLayout内では、すべての子が互いの上にあります。

6
Michele

私はこの方法を試してみましたが、うまくいきました

 <FrameLayout
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:orientation="vertical"
    Android:padding="5dip">
<ImageView
    Android:id="@+id/image_first"
    Android:orientation="vertical"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:src="@drawable/imga"/>
<ImageView
    Android:id="@+id/imageview"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:src="@drawable/image"/>
</FrameLayout>
2
                <RelativeLayout
                Android:layout_width="match_parent"
                Android:layout_height="match_parent"
                Android:padding="@dimen/_15dp">
                <ImageView
                    Android:layout_width="match_parent"
                    Android:layout_height="match_parent"
                    Android:padding="@dimen/_10dp"
                    Android:layout_marginTop="@dimen/_50dp"
                    Android:background="@drawable/white_background"
                   />
                <ImageView
                    Android:layout_width="@dimen/_100dp"
                    Android:layout_height="@dimen/_100dp"
                    Android:background="@drawable/my_credit"
                    Android:layout_marginTop="@dimen/_5dp"
                    Android:layout_centerHorizontal="true"
                    />
            </RelativeLayout>
1
Sunil