2011-09-05 36 views
17

Soy novato en Android.Poner un botón sobre un ImageView

Me gustaría saber si es posible poner un botón u otro componente sobre un ImageView. Intenté configurar la imagen como una imagen de fondo de LinearLayout, pero cuando cambio entre el modo horizontal y vertical, las proporciones de la imagen cambian.

Muchas gracias.

+0

¿Puedes publicar tu código por favor? –

Respuesta

36

No coloque la imagen como fondo, no tiene ningún control sobre cómo se escala la imagen. En su lugar, cree un RelativeLayout y coloque un ImageView como uno de los elementos secundarios, y puede colocar cualquier cosa (botones, etc.) como otros elementos RelativeLayout.

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

Muchas gracias. Espero que pueda mejorar mi conocimiento de Android y ayudar a muchos otros, – gutiory

+3

Parece que el orden en los recursos importa, poner el ImageView después de que el botón no funcionó para mí, pero el orden anterior sí. – EtienneSky

4

Prueba este código ... es que ayuda ....

<?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> 

probar este Código .....

En ese parámetro de dar en el botón para establecer la posición del botón ....

android:layout_margin or android:layout_alignParent 

y también dar Camino de la imagen ....

2

La forma más sencilla de hacerlo es usar un FrameLayout.

Cuestiones relacionadas