2011-11-15 22 views
5

Quiero cambiar el fondo verde de un botón cuando se toca sin utilizar OnTouchListener. Tengo esta situación: pongo algunos botones en una capa, luego la capa en otra capa y la última capa en otra capa. cuando toco el botón, el fondo está cambiando (estoy usando OnTouchListener ahora mismo) pero si arrastro el dedo fuera del botón y luego lo saco de la pantalla, el fondo del botón permanece como imagen del estado cuando se toca (de lo contrario si hago clic en el botón y el del finnger del botón es k el fondo está cambiando)Cambiar el fondo del botón al tacto

+0

si no está utilizando xml show ur code, lo dejaré en claro .. –

Respuesta

16

1. Prepare 3 imágenes de estados de botón, y lo puso en resource/drawable carpeta.

2. crear un nuevo archivo XML en res/drawable/ carpeta, en cualquier nombre que desee, en este caso, nos acaba de dar un nombre como my_button.xml. Este archivo definió qué estado de botón pertenece a qué imagen.

Ahora, puede consultar este botón a través de este Id: @ drawable/my_button.

archivos: res/estirable/my_button.xml

crear el archivo XML usando la imagen del botón como este con my_button.xml en drawable carpeta

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/button_pressed_yellow" 
     android:state_pressed="true" /> 
    <item android:drawable="@drawable/button_focused_orange" 
     android:state_focused="true" /> 
<item android:drawable="@drawable/button_normal_green" /> 
</selector> 

añadir un botón normal, y adjuntar la imagen de fondo por encima de “my_button” a través de

android:background:@drawable/my_button 
+0

gracias. ¿Puedes por favor darme el ejemplo del código (no estoy usando xml para crear mi GUI) – moctavianro

+0

? No te conseguí. –

+0

@ user1021692: quiso decir, debe usar este archivo xml en la etiqueta de su botón.por favor vea la edición de esta respuesta – Hiral

0

El selector será de la siguiente

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/btn_pressed" /> <!-- pressed --> 
    <item android:state_focused="true" android:drawable="@drawable/btn_focused" /> <!-- focused --> 
    <item android:drawable="@drawable/btn_default" /> <!-- default --> 
</selector> 
+2

por favor proporcione un ejemplo de código no un xml – moctavianro

Cuestiones relacionadas