Comment placer une imageview sur une autre imageview dans android
C'est ma mise en page que j'ai essayé 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 avoir mon outside_imageview en haut de inside_imageview avec la hauteur et la largeur exactes... Comment le faire par layout?
7 réponses
<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>
layout_align[Top|Bottom|Left|Right]
l'attribut RelativeLayout
est utilisé pour aligner les vues en fonction de leurs valeurs respectives de x et y dans la marge. Le deuxième ImageView
sera maintenant aligné vers le haut, en bas, à gauche, et à droite de la première ImageView
basé sur les marges. Le rembourrage est ignoré dans l'alignement.
FrameLayout
est ce que vous avez besoin. Vous pouvez simplement fusionner le layout parent qui est un FrameLayout
trop.
Jetez un oeil à l' 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 au-dessus de l'autre.
Vous avez besoin d'une disposition de cadre. Essayez de vérifier AndroidFrameLayout
.
j'ai essayé de cette façon et il a travaillé pour moi,j'espère que ça 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>
il suffit d'ajouter traduction z et il sera sur le dessus, assurez-vous que la traduction z est plus grand que la vue que vous voulez être sur le dessus de. Désolé pour la réponse tardive.