PDA

Ver la Versión Completa : [ SOLUCIONADO ] Cambiar background desde boton


dureo
22/02/12, 02:47:11
Hola, acabo de empezar en esto del desarrollo de android y tengo una duda.

¿Como puedo hacer para cambiar el color de fondo de mi aplicación al pulsar sobre un botón?

Gracias.

kriogeN
22/02/12, 09:55:42
Con:

setBackgroundColor(int color)

Tienes que aplicarlo sobre el contenedor principal, por tanto tienes que ponerle nombre para después poder encontrarlo con findViewById.

dureo
22/02/12, 15:28:25
Muchísimas gracias, es lo que necesitaba. :sisi1:

Funcionó perfectamente, aun tengo que entender mejor la logica de android, XD.

cisco13
31/01/13, 19:04:06
Estoy intentando hacer una aplicación que haga justo es, soy muy novato y aun no termino de entender muy bien el funcionamiento a la hora de programar.
Podrías poner el código para verlo??

Un saludo y gracias

pablogarcia013
01/02/13, 10:05:22
findViewById(R.id.relativeLayoutCenter).setBackgro undColor(R.color.rojo);

findViewById -> buscas tu layout por su id, en mi caso el layout que quiero cambiar el fondo se llama "relativeLayoutCenter"

setBackgroundColor -> le asignas un color y como parametro le pasas un numero entero. En mi caso tengo en la carpeta values un xml llamado color.xml con el siguiente codigo:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="rojo">#ff0000</color>
</resources>

Espero que te sirva

IndignoS3
01/02/13, 10:11:57
Estoy intentando hacer una aplicación que haga justo es, soy muy novato y aun no termino de entender muy bien el funcionamiento a la hora de programar.
Podrías poner el código para verlo??

Un saludo y gracias

Pues tendrás que tener un xml con un layout y un boton. Entonces, desde el activity pones algo así:

public class MainActivity extends Activity {

private Button btBoton1;
private RelativeLayout loPadre;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_linterna_flash);

loPadre =(RelativeLayout) findViewById(R.id.layoutPadre);

btBoton1 = (Button)findViewById(R.id.toggleButton1);
btBoton1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
loPadre.setBackgroundColor(Color.WHITE);
}
});
}

}

set92
01/02/13, 10:46:25
Tambien teneis la posibilidad de poner el color desde el XML, pero esto se usa yo creo solo para ponerle un color y que no cambie luego, el atributo se llama android:background y se le pone a los layout's

alpeal101
10/05/16, 21:23:25
Y una duda, yo tambien soy nuevo desarrollando apps, y tengo una pregunta, como puedo cambiar el background, si es una foto.
Me explico, yo de background tengo otra foto y quiero poner otra foto de background, desde los botones.
Gracias de antemano.

kriogeN
11/05/16, 10:13:40
Y una duda, yo tambien soy nuevo desarrollando apps, y tengo una pregunta, como puedo cambiar el background, si es una foto.
Me explico, yo de background tengo otra foto y quiero poner otra foto de background, desde los botones.
Gracias de antemano.

Igual que está puesto en el código anterior, pero usando setBackgroundResource en lugar de setBackgroundColor.

En el caso de que quieras poner una imagen externa tendrás que usar setBackground (o setBackgroundDrawable si el Target es anterior a Jelly Bean), pero primero tendrás que generar el Drawable a partir de la imagen externa.