Uso de la imagen en un botón de Android con efectos

(Ahora he llegado a través de cuestiones relacionadas con StackOverflow, pero por desgracia ninguna de las soluciones funcionó para mí, que es por qué tuve que pedir esto por separado)

Soy principiante de Android. El problema: Necesito tener una imagen que actúa como un botón. Ahora entiendo que esto se puede lograr usando una imagen en un botón estándar o utilizando algo llamado como "ImageButton" (que supongo que es muy recomendable aunque no tengo ni idea de por qué).

Requisitos: Necesito una guía detallada para resolver este problema. Específicamente, pensé que la "puesta de imagen en el botón estándar" era más fácil hasta que me enfrenté a dos problemas importantes: No pude establecer la imagen en el centro (gracias dibujable de arriba, abajo, izquierda6, derecha) y una vez que Cambió el color de fondo para que coincida con el del back-color de la pantalla Activity, el efecto del botón desapareció. En pocas palabras, necesito una forma moderadamente fácil de tener una imagen actuar como un botón o un botón con una imagen que tiene los tres efectos: centrado, presionado y predeterminado. Utilicé ImageButton pero entonces no sabía hacer las formas de encargo o las imágenes 9patch para darle todos los efectos deseados, estoy bastante satisfecho con el botón del defecto que androide proporcionado. Todo lo que necesito es algo como un fondo sobre la imagen o algo de ese tipo que indica al usuario que la imagen está siendo presionado y el evento se ha generado!

¿Puede alguien ayudarme por favor con esto? Necesito la interfaz de usuario para buscar decente y por lo tanto, necesitan los efectos correspondientes en mi imagen / botón. Gracias por adelantado 🙂

Esta es mi imagen-icono: Introduzca aquí la descripción de la imagen

Deseo tener algún tipo de efecto hover alrededor de esto que indica que la imagen se ha presionado como cualquier botón normal.

Utilice ImageButton y StateList Drawable . Necesita selector para diferentes estados del botón. Puede asignar diferentes dibujables para diferentes estados para imitar el efecto onFocus o onPressed en el botón normal.

Se trata de selector.xml en la carpeta drawable bajo res :

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@color/cyan"/> <!-- pressed state --> <item android:state_focused="true" android:drawable="@color/cyan"/> <!-- focused state --> <item android:drawable="@android:color/transparent"/> <!-- default state --> </selector> 

Y esto es color.xml en la carpeta de values bajo res :

 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="cyan">#33B5E5</color> </resources> 

Establezca el src de ImageButton en su imagen y establezca el fondo en selector.xml .

Este es el resultado final:

antes deDespués

Hay un buen tutorial aquí: Android ImageButton Selector Ejemplo

Crear vista xml

 <ImageView android:id="@+id/imageview1" android:background="@drawable/selector_xml_name" android:layout_width="200dp" android:layout_height="126dp"/> 

Create inside draw able folder selector_xml_name.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/numpad_button_bg_selected"android:state_selected="true"></item> <item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item> <item android:drawable="@drawable/numpad_button_bg_normal"></item> 

Crear dentro de dibujar la carpeta capaz numpad_button_bg_selected.xml

  <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding="90dp"> <solid android:color="@color/selected"/> <padding /> <stroke android:color="#000" android:width="1dp"/> <corners android:bottomRightRadius="15dp" android:bottomLeftRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"/> 

  • ¿Por qué las vistas secundarias heredan el valor alfa del diseño de los padres?
  • Cambiar el color de fondo del menú android
  • ¿Qué fuentes están disponibles en Android?
  • CollapsingToolbarLayout no funciona bien con NestedScrollView
  • Fuente Roboto en mi aplicación para Android
  • UI para Android - ¿Qué resolución diseñar?
  • Botón con el icono y el texto
  • Creación de divisores de línea en los párrafos de la presentación de la pestaña
  • ¿Cómo establecer el valor alfa para mi diseño Relativo?
  • Android: establece alfa en el botón al hacer clic. Preferiblemente sólo xml
  • Error de inflado de diseño de FloatingActionButton: NoSuchMethodException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.