ImageButton en Android

¿Puede alguien decirme cómo cambiar el tamaño de la imageButton para adaptarse a la imagen exactamente .. Este es el código que he intentado, pero la imagen se coloca en la posición que estoy localizando con android:scaleType pero no puedo reducir el tamaño De imageButton, pls me ayudan en la rectificación de este problema … El código que he intentado es …

 <ImageButton> android:id="@+id/Button01" android:scaleType="fitXY" // i have tried all the values for this attr android:layout_width="wrap_content" android:layout_height="wrap_content" android:cropToPadding="false" android:paddingLeft="10dp" android:src="@drawable/eye"> // this is the image(eye) </ImageButton> 

Un poco tarde, pero estoy todo para 'mejor tarde entonces nunca' tuve la misma pregunta hoy, se encontró explicado aquí: http://www.anddev.org/tutorial_buttons_with_niceley_stretched_background-t4369.html

 android:background="@drawable/eye" 

Funciona automáticamente.

 android:src="@drawable/eye" 

Fue lo que usé con todos los problemas de cambiar el tamaño de la imagen de la anchura y la altura del botón …

Usted está fijando la imagen con la característica "src"

 android:src="@drawable/eye"> 

Utilice la propiedad " background " en lugar de la propiedad " src ":

 android:background="@drawable/eye" 

me gusta:

 <ImageButton android:id="@+id/Button01" android:scaleType="fitXY" android:layout_width="wrap_content" android:layout_height="wrap_content" android:cropToPadding="false" android:paddingLeft="10dp" android:background="@drawable/eye"> // this is the image(eye) </ImageButton> 

Es probable que tenga que cambiar el tamaño del botón mediante programación. Tendrá que cargar explícitamente la imagen en su método onCreate () y cambiar el tamaño del botón allí:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageButton myButton = (ImageButton) findViewById(R.id.button); Bitmap image = BitmapFactory.decodeResource(R.drawable.eye); myButton.setBitmap(image); myButton.setMinimumWidth(image.getWidth()); myButton.setMinimumHeight(image.getHeight()); ... } 

No está garantizado que funcione, de acuerdo con las especificaciones de setMinimumX (ya que el ancho y la altura siguen dependiendo de la vista principal), pero debería funcionar bastante bien para casi todas las situaciones.

Intente utilizar el centroInside de ScaleType.

ScaleTypes no se representan correctamente en Eclipse Layout diseñador, por lo que la prueba en su aplicación en ejecución.

¿Has intentado darle al layout_width y al layout_height lo siguiente? Dado que está configurando con wrap_content, el botón de imagen se expande hasta el tamaño de la altura y el ancho de la imagen de origen.

 <blink> <ImageButton> android:id="@+id/Button01" android:scaleType="fitXY" android:layout_width="80dip" android:layout_height="80dip" android:cropToPadding="false" android:paddingLeft="10dp" android:src="@drawable/eye"> </ImageButton> </blink> 

No es necesario utilizarlo utilizando el atributo src

Manera incorrecta (la imagen no cabrá el botón)

 android:src="@drawable/myimage" 

La manera correcta es utilizar atttribute de fondo

 <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/skin" /> 

Donde la piel es un xml

Skin.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- <item android:drawable="@drawable/button_disabled" android:state_enabled="false"/> --> <item android:drawable="@drawable/button_pressed" android:state_pressed="true"/> <!-- <item android:drawable="@drawable/button_focused" android:state_focused="true"/> --> <item android:drawable="@drawable/button_normal"/> </selector> 

Usando button_pressed.png y button_normal.png

Esto también le ayudará en la creación de su botón de piel con 4 estados de presionado, normal, discapacitados y centrado. Asegúrese de mantener los mismos tamaños de todos los pngs

También puede configurar el fondo es transparente. Así que el botón se parece a su icono.

  <ImageButton android:id="@+id/Button01" android:scaleType="fitcenter" android:layout_width="wrap_content" android:layout_height="wrap_content" android:cropToPadding="false" android:paddingLeft="10dp" android:background="@android:color/transparent" android:src="@drawable/eye" /> 

Creo que ya resolvió este problema, y ​​como otras respuestas sugieren

 android:background="@drawable/eye" 

está disponible. Pero prefiero

 android:src="@drawable/eye" android:background="00000000" // transparent 

Y funciona bien también (por supuesto, el código anterior establecerá la imagen como un fondo y el otro establecerá la imagen como una imagen) Pero de acuerdo a su respuesta seleccionada, supongo que quería decir 9 parches.

  • ¿Cómo mostrar el texto en un ImageButton?
  • Iterate a través de ImageButtons dando enfoque a Android
  • Deshabilitar un ImageButton
  • Cómo cambiar la imagen del ImageButton cuando se presiona y se libera?
  • Cómo obtener la imagen de un ImageButton?
  • Cabeza de chat Haga clic en eventos
  • Android - los estados de la superposición automática táctil / resaltado del estado de la imagen
  • Cómo eliminar la imagen de fondo estándar de ImageButton?
  • ¿Cómo cambiar la transparencia del botón de imagen mediante programación?
  • Android: cómo configurar la altura / anchura de la imagen src de un ImageButton?
  • Obtener recursos de un fragmento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.