Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 28/03/16, 10:39:07
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de davidlghellin
davidlghellin davidlghellin no está en línea
Miembro del foro
Mensajes: 124
 
Fecha de registro: may 2014
Mensajes: 124
Modelo de smartphone: Pixel 8a
Tu operador: O2
Mencionado: 1 comentarios
Tagged: 0 hilos
Puedes usar sharedpreferences (clave-->valor)
Responder Con Cita
  #4  
Viejo 28/03/16, 12:51:21
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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)

Ú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
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 11:18:42 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007