Cambiar el tema de un fragment en Android

logo androidEstoy programando mucho en Android, pero no he subido nada al respecto, por lo que iré compartiendo pequeños códigos para hacer cosas especificas, que también claro, servirán para anotaciones personales mias.
Los fragment estan inmersos en las actividades que los contienen, por lo que no podemos cambiarlos directamente en el archivo AndroidManifest.xml, así que heredan los estilos que las actividades tengan definidas, y si estas últimas no tienen ningún tema definido heredan el que tenga la aplicación. Pero podemos cambiar esto utilizando las siguientes 3 lineas dentro de la función onCreateView de nuestro fragment.
Primero traemos el tema que queremos aplicar al fragment creando un objeto de contexto. Deben reemplazar MyAppTheme por su tema.

final Context themeWrapper = 
	new ContextThemeWrapper(getActivity(), R.style.MyAppTheme);

Luego definimos un LayoutInflater al cuál le aplicamos nuestro contexto anterior.
LayoutInflater cloneInflate = 
	inflater.cloneInContext(themeWrapper);

Y finalmente inflamos el layout de nuestro fragment utilizando el layout inflate definido anteriormente. Recuerden que deben reemplazar fragment_layout por el que corresponda con su fragment, y que será el que finalmente retornaremos en la función.
View view = 
	cloneInflate.inflate(R.layout.fragment_layout, container, false);

Eso es todo! Saludos!

Un comentario en “Cambiar el tema de un fragment en Android

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *