Home Menu

Menu



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 09/10/12, 15:17:53
Avatar de set92
set92 set92 no está en línea
Miembro del foro
Mensajes: 468
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Como se cambia el style de un layout?

Estaba programando ayer en clase y me pregunto un compañero como se hacian los styles, que el iba al layout activity_main.xml en modo grafico y le daba arriba donde esta la estrellita en azul y cambiaba al Holo.Black pero que no le funcionaba, y que podia cambiar a cualquiera que solo le cambia en el visor de eclipse, una vez lo ejecuta en el movil o el emulador ya no le aparece ese style que ha puesto.

Lo estuve mirando ayer y hoy pero no encuentro nada, veo que esta el styles.xml que es para definir tus propios themes y que esta el que usa la app por defecto, pero he cambiado ese de
<style name="AppTheme" parent="android:Theme.Light" />
a
<style name="AppTheme" parent="android:Theme.Holo" />

y aunque no me da error no me funciona, alguien sabe como se usan esos styles?

EDIT: Acabo de conseguir cambiar los styles de todas las activitys, lo he hecho recurriendo a AndroidManifest.xml y en Theme dandole a System Resources

Última edición por set92 Día 09/10/12 a las 16:18:56
Responder Con Cita


  #2  
Viejo 09/10/12, 16:37:01
Avatar de sgsbarna
sgsbarna sgsbarna no está en línea
Usuario muy activo
Mensajes: 605
 
Fecha de registro: nov 2010
Localización: Montmeló
Mensajes: 605
Modelo de smartphone: GT-I9000, GT-I9001, GT-I9300, Tab2 7"
Versión de ROM: JellyBean * JellyBean * Krom/Jrom/Carbon (Siyah Dual Boot)
Tu operador: Vodafone
Mencionado: 5 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por set92 Ver Mensaje
Estaba programando ayer en clase y me pregunto un compañero como se hacian los styles, que el iba al layout activity_main.xml en modo grafico y le daba arriba donde esta la estrellita en azul y cambiaba al Holo.Black pero que no le funcionaba, y que podia cambiar a cualquiera que solo le cambia en el visor de eclipse, una vez lo ejecuta en el movil o el emulador ya no le aparece ese style que ha puesto.

Lo estuve mirando ayer y hoy pero no encuentro nada, veo que esta el styles.xml que es para definir tus propios themes y que esta el que usa la app por defecto, pero he cambiado ese de
<style name="AppTheme" parent="android:Theme.Light" />
a
<style name="AppTheme" parent="android:Theme.Holo" />

y aunque no me da error no me funciona, alguien sabe como se usan esos styles?

EDIT: Acabo de conseguir cambiar los styles de todas las activitys, lo he hecho recurriendo a AndroidManifest.xml y en Theme dandole a System Resources
Eso mismo... yo lo cambio primero en la estrellita para diseñar correctamente... pero descubrí que si no lo cambias en el manifiesto de nada sirve...
Responder Con Cita
  #3  
Viejo 09/10/12, 17:20:19
Avatar de set92
set92 set92 no está en línea
Miembro del foro
Mensajes: 468
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Pero en el AndroidManifest lo cambias para toda la app, y si tu quieres cambiar por activitys, es decir que cada layout tenga un theme distinto no se puede de esta forma.

He estado investigando, y solo he visto para hacerlo desde java que seria haciendo un metodo this.setTheme(R.style.NOMBRE_DEL_ESTILO) y poniendolo dentro del metodo onCreate del layout, y delante del .setContentView , si lo pones despues entonces no funciona porque ya has dicho el layout que vas a mostrar.
El unico problema de esta forma es que tienes que ir al Styles.xml y crear un Style con el estilo que quieras, en mi caso he usado uno que nos da Google y es android:Theme.Holo.Light.Dialog.NoActionBar con lo que te queda asi:

<style name="ThemeCreditos" parent="android:Theme.Holo.Light.Dialog.NoActionBa r" />

Y luego en el .java del layout tienes que poner esto:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Seteamos el theme de la activity antes de mandar visualizar el layout
this.setTheme(R.style.ThemeCreditos);
setContentView(R.layout.activity_main);

}

Y con eso ya te funciona pero para eso me he tirado unas 2h, pero por XML todavia no he visto como se hace o si es posible, en el RelativeLayout ahi una propiedad que es style pero pone que es para un estilo custom, es decir para este caso no sirve porque tienes que referenciar a un style del styles.xml ...

Acabo de probarlo y no funciona, es decir pones como un atributo del layout style="@style/ThemeCreditos" y deberia ponertelo pero no lo hace, osea por ahora solo lo consigo hacer por el .java
Responder Con Cita
  #4  
Viejo 09/10/12, 17:37:42
Avatar de set92
set92 set92 no está en línea
Miembro del foro
Mensajes: 468
 
Fecha de registro: jun 2012
Mensajes: 468
Modelo de smartphone: samsung
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
SOLUCIONADO

Justo acabo de encontrar la solucion cuando lo iba a dejar, tambien se modifica el theme de cada activity en el AndroidManifest y se hace en las etiquetas <activity></activity> y quedaria asi:

Código:
        <activity
            android:name="AcercaDe"
            android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar" >
        </activity>
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: 01:34:31 (GMT +2)

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