Quiero cambiar la imagen de fondo de un botón cuando hago clic o me enfoco.
Este es mi código:
Button tiny = (Button)findViewById(R.id.tiny); tiny.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Button tiny = (Button)findViewById(R.id.tiny); tiny.setBackgroundResource(R.drawable.a9p_09_11_00754); TextView txt = (TextView)findViewById(R.id.txt); txt.setText("!---- On click ----!"); } });
Es este código correcto? ¿Llama un botón en su evento?
Puede implementar en un archivo xml para esto de la siguiente manera:
//means normal
ahora guarde este archivo xml en la carpeta dibujable y asígnele el nombre abc.xml y configúrelo de la siguiente manera
Button tiny = (Button)findViewById(R.id.tiny); tiny.setBackgroundResource(R.drawable.abc);
Espero que te ayude. 🙂
Es muy fácil de implementar. Para eso, necesita crear un archivo xml (archivo selector) y ponerlo en una carpeta dibujable en res. Después de eso, configure el archivo xml en el fondo del botón en su archivo de diseño.
Ahora establece el archivo de arriba en el fondo del botón.
Lo siento, esto está mal.
Para cambiar el color / la imagen de fondo según el evento en particular (enfoque, prensa, normal), debe definir un archivo selector de botón e implementarlo como fondo para el botón.
Por ejemplo: button_selector.xml (defina este archivo dentro de la carpeta dibujable)
Y aplicarlo como:
use este código para crear un archivo xml en el nombre de la carpeta dibujable: botón
y en el archivo de botón xml
android:background="@drawable/button"
Para cambiar el fondo del botón podemos seguir 2 métodos
En el botón OnClick, simplemente agrega este código:
public void onClick(View v) { if(v == buttonName) { buttonName.setBackgroundDrawable (getResources().getDrawable(R.drawable.imageName_selected)); } }
2. Cree button_background.xml en la carpeta dibujable. (Usando xml)
res -> dibujable -> button_background.xml
Ahora configure el archivo anterior en el archivo de fondo del botón.
(or) Button tiny = (Button)findViewById(R.id.tiny); tiny.setBackgroundResource(R.drawable.abc);
El segundo método es mejor para configurar el botón fd de fondo
Solo necesita establecer el fondo y proporcionar el archivo previous.xml en el fondo del botón en su archivo de diseño.
y done.Edit Following es el archivo previous.xml en el directorio dibujable