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é).
- El tema de Holo hace mi botón más grande
- ¿Cómo establecer la distancia entre textview y drawable en un botón?
- Cómo configurar una pestaña específica al abrir una actividad de Layout de pestaña deslizante?
- Por qué el diseño de material de Google dice: "El material nunca se dobla ni se pliega".
- ¿Android tiene algún equivalente a los struts de iPhones y muelles?
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:
Deseo tener algún tipo de efecto hover alrededor de esto que indica que la imagen se ha presionado como cualquier botón normal.
- Android diseño: fondo de servicio de larga duración o AlarmManager?
- Selector de android para un diseño seleccionable con imageview
- Android ignorando mi setWidth () y setHeight ()
- Botones desplegables / Spinner como los de las especificaciones de diseño de Google
- Crash - material android diseño
- Creación de PSD base para diseñar la interfaz de usuario de aplicaciones de Android para dispositivos mdpi, 320 / 480px
- CollapsingToolbarLayout con tablayout & image colapsando con la barra de herramientas pegajosa
- Android one OnClick método para varios botones?
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:
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"/>
- Desplazamientos de encabezados fijos en jquery mobile
- Mi aplicación tarda tanto en lanzar la pantalla Primera actividad