2009-03-19 18 views
23

Quiero crear un Android ImageButton en el archivo xml con una imagen de fondo, y un icono más pequeño encima de eso, justo en el centro. Por alguna razón, no es obvio cómo hacerlo, y la documentación no es de ayuda.Android ImageButton - no se puede obtener la imagen en el centro

<ImageButton 
android:id="@+id/sound_button" 
android:layout_x="430px" 
android:layout_y="219px" 
android:layout_width="48px" 
android:layout_height="48px" 
android:scaleType="center" 
android:src="@android:drawable/volumeicon" 
android:background="@drawable/clearbuttonup" 
/> 

Sin embargo, no importa lo que intento (poniendo "envoltura _ contenido" en lugar de absolutos números en el diseño _ altura y el diseño _ anchura, el icono permanece en la esquina superior izquierda del botón. Sin embargo, si no tengo una imagen de fondo (es decir, un botón blanco predeterminado del sistema), el ícono entra en el centro. El botón también va a la esquina superior izquierda cuando uso un color en lugar de una imagen para el fondo

¿Por qué sucede esto, y cómo obtendría realmente el comportamiento que quiero, es decir, una imagen de fondo con el ícono en el centro?

Respuesta

16

Soy un verdadero idiota. Así es como aparece en la pantalla que el complemento Ecliplse proporciona al lado del editor XML. Cuando realmente construí el proyecto y lo ejecuté en un dispositivo, mostró todo correctamente.

+0

tuve esta experiencia también ... trastes sobre él durante años, luego lo probé en mi teléfono y se mostró bien. Me pregunto dónde podemos reportar estos errores. –

+0

"El complemento Ecliplse proporciona al lado del editor XML". ¿Estás diciendo que el plugin de Eclipse tiene un diseñador en el IDE? ¿Me he perdido algo –

+3

obteniendo el punto kama por llamarme un idiota? +1 !!! ;) –

1

Irónicamente, tuve un problema completamente opuesto con un ImageView: no pude alinearlo a la izquierda sin importar lo que intenté. En este caso, estaba usando layout_width="fill_parent".

Ver mi pregunta aquí: Android layout - alignment issue with ImageView

0

intentar utilizar el botón y establecer el fondo es muy útil y fácil: D

hacer que el texto vacío y se puede utilizar como el botón de imagen^_^

Cuestiones relacionadas