Ceci est ma mise en page que j'ai essayée jusqu'à présent sans succès
<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>
Ce que je veux exactement, c'est d'avoir mon outside_imageview au-dessus de inside_imageview avec la hauteur et la largeur exactes ... Comment faire grâce à la mise en page?
<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>
Le layout_align[Top|Bottom|Left|Right]
l'attribut dans RelativeLayout
est utilisé pour aligner les vues en fonction de leurs valeurs x et y respectives dans la marge. Le deuxième ImageView
sera désormais aligné en haut, en bas, à gauche et à droite du premier ImageView
en fonction des marges. Le remplissage est ignoré dans l'alignement.
FrameLayout
est ce dont vous avez besoin. Vous pouvez simplement fusionner la disposition parent qui est également un FrameLayout
. Jetez un œil au Blog des développeurs Android : 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>
Vous devriez essayer un FrameLayout
. À l'intérieur d'un FrameLayout, chaque enfant est superposé.
J'ai essayé de cette façon et cela a fonctionné pour moi, j'espère que cela aide
<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>
<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>