Cómo hacer que el botón muestre que se hace clic (al establecerlo baje/algunos cambios) para los botones que usan imagen de fondo personalizada en Android. No quiero incluir más imágenes y configurar diferentes para diferentes estados como se muestra en el ejemplo de google hello views. Gracias.Cómo hacer que el botón con imagen de fondo personalizada muestre la animación de clic en Android
Respuesta
Es posible hacerlo con solo un archivo de imagen utilizando el método ColorFilter. Sin embargo, ColorFilter espera trabajar con ImageViews y no con Buttons, por lo que debe transformar sus botones en ImageViews. Esto no es un problema si está usando imágenes como botones de todos modos, pero es más molesto si tiene texto ... De todos modos, suponiendo que encuentre una forma de resolver el problema con el texto, aquí está el código para usar:
ImageView button = (ImageView) findViewById(R.id.button);
button.setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);
Aplica una superposición roja al botón (el código de color es el código hexadecimal para el rojo totalmente opaco; los primeros dos dígitos son transparencia, luego es RR GG BB).
Usted puede hacer sus ImageViews ven como botones normales copiando el archivo desde su btn_default_normal.9.png sdkfolder/plataformas/(versión Android/data/res/estirable para su propio proyecto. Luego, en su uso ImageView android:background="@drawable/btn_normal_default"
y android:src="..."
para establecer una imagen dentro del botón
Puede hacer esto con Text this.btnLeaderboard.setTextColor (Color.parseColor (# 362D26)); –
tienes que usar dos imágenes para hacer esto.
- button_normal
- button_pressed
continuación, crear un recurso XML en la carpeta dibujable
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:drawable="@drawable/button_normal" />
<item android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
</selector>
a continuación, establezca este archivo como un fondo para el imageview. aquí estamos usando imageview como botón. no te olvides de incluir esos dos botones en la carpeta dibujable. Eso es.
Gracias por su respuesta, pero como ya mencioné, esta solución requiere 2 drawable (drawable/button_normal y drawable/button_pressed) y quiero evitar extraíbles para diferentes estados de botón en mi aplicación, ya que hay muchos botones diferentes. Mi propósito es solo darle al usuario un comentario del botón presionado. Hay algún trabajo alrededor ? – Pritam
Puede crear una imagen negra transparente simple y crear una lista de niveles dibujable mediante la cual puede colocar la imagen transparente sobre la imagen real. Esto le da un efecto de empujar hacia abajo. También puede utilizar esto como una imagen onclick como se muestra a continuación.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/image">
</item>
<item android:drawable="@drawable/transparent_image">
</item>
</layer-list>
</item>
<item android:drawable="@drawable/image"></item>
</selector>
solo quiero agregar otra forma fácil de hacerlo: Si su ImageButton permanece en segundo plano y no lo establece en nulo, funcionará como un botón normal y mostrará la animación de clic mientras hace clic exactamente igual que otros botones. El camino para ocultar el fondo, mientras que todavía está ahí:
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:paddingLeft="1dp"
android:paddingRight="1dp"
android:paddingTop="1dp"
android:src="@drawable/squareicon" />
los rellenos no permitirá que el fondo sea visible y hacer que el botón de actuar como otros botones.
- 1. ¿Cómo podemos mostrar la animación Curl de página al hacer clic en el botón en android
- 2. Hacer que un botón de Android cambie el fondo al hacer clic en XML
- 3. ¿Cómo hacer que QWebKit muestre la imagen?
- 4. personalizada para Android con la animación
- 5. ¿Cómo hacer que QGraphicsItem muestre el fondo en un QGraphicsScene?
- 6. Animación de botón posterior personalizada
- 7. Android resaltar un botón imagen al hacer clic en
- 8. ¿En Android cómo hacer que una imagen crezca desde un punto mediante la animación?
- 9. Hacer que el botón Imagen se vea presionado/hacer clic en Swing
- 10. Animación personalizada en Android
- 11. imagen en la que se puede hacer clic - android
- 12. Android: botón con forma personalizada
- 13. ¿Cómo hacer que el botón no se pueda hacer clic después de hacer clic en él?
- 14. Estados de botón con fondo como animaciónDibujo en Android
- 15. Cambiar la imagen de fondo con el botón de opción
- 16. NSButton fondo blanco al hacer clic
- 17. Cómo hacer clic y arrastrar el botón en Android
- 18. ¿Evitar la animación al hacer clic en el botón "Atrás" en la barra de navegación?
- 19. Botón al hacer clic en cambio de estado visual
- 20. Traducir Imagen animada No se puede hacer clic después de la animación [Android]
- 21. ¿Cómo cambio la imagen de fondo usando la animación jQuery?
- 22. Mostrar actividad con animación personalizada
- 23. Botón Android con diferentes colores de fondo
- 24. ¿Menú radial de Android con el botón clic?
- 25. Android: botón con dos colores de fondo
- 26. Cómo guardar la imagen en la tarjeta SD en el botón Haga clic en android
- 27. Animación de imagen de fondo de UIButton
- 28. ¿Cómo volver a cargar la imagen de Zend Captcha al hacer clic en el botón Actualizar?
- 29. Botón Tamaño de la imagen en android
- 30. Cómo asociar presionando "enter" con hacer clic en el botón?
¿Qué quiere decir con no tener una imagen diferente para cada estado? ¿Desea tener una imagen que su aplicación modifique cada vez, como cambiar su color? –
Sí, me refiero solo para informar al usuario que el botón está presionado (como mostrarlo hacia abajo, o como desmayar el fondo como en Iphone). ¿Por qué Android no proporciona una forma para una tarea tan común sin utilizar imágenes adicionales? – Pritam
no me han escuchado acerca del ejemplo de google views. ¿Dónde está? – Praveen