Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 14/04/15, 16:20:02
Array

[xs_avatar]
Devl1 Devl1 no está en línea
Usuario poco activo
 
Fecha de registro: abr 2015
Mensajes: 1
Modelo de smartphone: vodafone smart 4 turbo
Tu operador: Vodafone
Cambiar tema desde menu

Buenas! estoy haciendo una app y necesito cambiar el tema de la aplicación desde una de las opciones desde menú, únicamente quiero cambiar el background pero la app se me cierra y es imposible.

El código .java es el siguiente:
public class MainActivity extends Activity {

static int idTema=R.style.AppBaseTheme; //Tema por defecto

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setTheme(idTema);

@override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
//MENUS
@override
public boolean onOptionsItemSelected(MenuItem item)
{

switch (item.getItemId())
{

case R.id.menu_verano:
idTema=R.style.TemaVerano;
MainActivity.this.finish();
startActivity(new Intent(MainActivity.this, MainActivity.this.getClass()));
return true;

default:
return super.onOptionsItemSelected(item);
}
}

y el codigo del theme.xml es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="AppTheme" parent="@style/_AppTheme"/>

<style name="_AppTheme" parent="android:Theme.Light">

</style>

<style name="TemaVerano" parent="AppBaseTheme">

<item name="android:background">@drawable/fverano</item>

</style>

</resources>


Si alguien ve algo mal o puede ayudarme lo agradecería.
Responder Con Cita


  #2  
Viejo 14/04/15, 20:09:36
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Si solo quieres cambiar el fondo no hay que destruir la actividad, volverla a crear, etc.... basta con llamar al setBackground de la vista que quieras, o de la root view si quieres que ocupe toda la ventana. Con getRootView en cualquier vista obtienes su referencia.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 22:58:04 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /