web-dev-qa-db-fra.com

Placez un bouton sur une ImageView

Je suis novice dans Android.

Je voudrais savoir s'il est possible de mettre un bouton ou un autre composant sur une ImageView. J'ai essayé de définir l'image comme image d'arrière-plan d'un LinearLayout, mais lorsque je passe du mode paysage au mode portrait, les proportions de l'image sont modifiées.

Merci beaucoup.

19
gutiory

Ne mettez pas l'image comme arrière-plan, vous n'avez aucun contrôle sur la façon dont l'image est mise à l'échelle. Au lieu de cela, créez un RelativeLayout et placez une ImageView comme l'un des enfants, et vous pouvez placer n'importe quoi (boutons, etc.) en tant que d'autres enfants RelativeLayout.

<RelativeLayout ...>
    <ImageView (your image) ...>
    <Button (the button you want) ... />
</RelativeLayout>
40

Essayez ce code ... c'est vous aider ....

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

 <ImageView xmlns:Android="http://schemas.Android.com/apk/res/Android" 
    Android:id="@+id/imageviewMain"
    Android:layout_width="wrap_content" 
    Android:layout_height="wrap_content"
    Android:src="Path "
/>
<Button Android:id="@+id/but2" 
     Android:layout_width="wrap_content" 
         Android:layout_height="wrap_content" />
</RelativeLayout>

Essayez ce code .....

Dans ce donner le paramètre dans le bouton pour définir la position de votre bouton ....

Android:layout_margin or Android:layout_alignParent

Et aussi donner Path of Image ....

4
Mitesh Jain

Il existe une autre façon de le faire, http://www.curious-creature.org/2009/03/01/Android-layout-tricks-3-optimize-part-1/

Je vous remercie.

3
Sameer Z.

La façon la plus simple de le faire est d'utiliser un FrameLayout.

2
Cyril Mottier