Avisos

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 28/03/16, 10:39:07
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Consulta con preferencias

Tengo unas preferencias donde cambio el color de la toolbar, pero al tener bastantes actividades al querer modificar el codigo tengo que cambiar mogollon de lineas en todas las actividades, la consulta era si se puede crear una clase donde llamar y cargar las preferencias y despues añadir esa clase donde vayan las preferencias en cada actividad?

Tengo una clase "PrefSet" donde edito y llamo los colores y este es el codigo que uso en todas las actividades y que quiero unificar en una sola clase.

Código:
String b= prefs.getString("bgBarra", "1");

        if (b.equals("1")) {
            actionBar.setBackgroundDrawable(new ColorDrawable(getResources()
                    .getColor(PrefSet.azul)));

        } else if (b.equals("2")) {
            actionBar.setBackgroundDrawable(new ColorDrawable(getResources()
                    .getColor(PrefSet.verde)));

        } 
        ...etc
__________________
Responder Con Cita


  #2  
Viejo 28/03/16, 10:51:34
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Creas una clase que hereda de Activity (o AppCompatActivity o lo que sea). Y en el onResume pones el código (en ese punto la Toolbar siempre va a existir)

Después todas tus Activity heredan de esa otra clase, y ya está, cada vez que quieras hacer un cambio lo haces en la clase base y listo.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 28/03/16, 10:55:24
Array

[xs_avatar]
davidlghellin davidlghellin no está en línea
Miembro del foro
 
Fecha de registro: may 2014
Mensajes: 124
Modelo de smartphone: Pixel 8a
Tu operador: O2
Puedes usar sharedpreferences (clave-->valor)
Responder Con Cita
  #4  
Viejo 28/03/16, 12:51:21
Array

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

Como alternativa a crear una actividad y hacer que las demás extiendan, es tener un método auxiliar en otra clase que se llame por ejemplo void static customizeBar(SharedPreferences prefs, ActionBar bar) y allí tienes el código que cambia la barra acorde a las preferencias sin tener que copiar y pegarlo en mil sitios.

Al método en cuestión lo llamarías en todos los onResume de tus actividades.

P.D: No viene al caso, pero yo suelo hacer las comparaciones con Strings al revés, en vez de algo.equals("3") pongo "3".equals(algo) y me ahorro comprobar si algo es null (que en tu caso nunca lo será porque le das un valor por defecto)
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!

Última edición por mocelet Día 28/03/16 a las 13:03:47.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 30/03/16, 15:09:27
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Lo opcion que dice mocelet es tal cual lo que necesito hacer, tal cual lo he hecho y funciona correctamente, gracias
__________________

Última edición por kaiser75 Día 30/03/16 a las 15:27:38.
Responder Con Cita
  #6  
Viejo 21/04/16, 15:09:04
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Aprovecho el post ya que tiene que ver con las preferencias, Hay manera de quitar el titulo de los dialogos de los ListPreference?
__________________
Responder Con Cita
Respuesta

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



Hora actual: 08:26:36 (GMT +1)



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

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