|
||
|
![]() |
![]() |
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
|
||||
|
||||
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. |
|
#2
|
||||
|
||||
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 ![]() |
#3
|
||||
|
||||
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
__________________
![]() |
#4
|
||||
|
||||
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>
__________________
![]() |
![]() |
![]() |
||||||
|