Marcas experimentales Xamarin.Forms
Cuando se implementa una nueva característica de Xamarin.Forms, a veces se coloca detrás de una marca experimental. Esto permite al equipo de ingeniería proporcionar nuevas características más rápidamente, a la vez que puede cambiar las API de características antes de pasar a una versión estable. Después, se quita la marca experimental una vez que la característica se mueve a una versión estable.
Xamarin.Forms incluye las siguientes marcas experimentales:
Shell_UWP_Experimental
El uso de la funcionalidad que está detrás de una marca experimental requiere habilitar la marca, o marcas, en la aplicación. Hay dos enfoques para habilitar marcas experimentales:
- Habilitar la marca experimental en los proyectos de la plataforma.
- Habilitar la marca experimental en la clase
App
.
Advertencia
El consumo de funcionalidad que está detrás de una marca experimental, sin habilitar la marca, dará como resultado que la aplicación inicie una excepción que indique qué marca debe estar habilitada.
Habilitación de marcas en proyectos de plataforma
El método Xamarin.Forms.Forms.SetFlags
se puede usar para habilitar una marca experimental en los proyectos de plataforma:
Xamarin.Forms.Forms.SetFlags("Shell_UWP_Experimental");
El método SetFlags
debe invocarse en la clase AppDelegate
en iOS, en la clase MainActivity
en Android y en la clase App
en UWP.
Importante
La habilitación de una marca experimental en los proyectos de plataforma debe producirse antes de invocar el método Forms.Init
.
El método Xamarin.Forms.Forms.SetFlags
acepta un argumento de matriz string
, lo que permite habilitar varias marcas experimentales en una sola llamada de método:
Xamarin.Forms.Forms.SetFlags(new string[] { "Shell_UWP_Experimental", "AnotherFeature_Experimental" });
Advertencia
Nunca llame al método SetFlags
más de una vez, ya que las llamadas posteriores sobrescribirán el resultado de las llamadas anteriores.
Habilitación de marcas en la clase App
El método Device.SetFlags
se puede usar para habilitar una marca experimental en la clase App
del proyecto de código compartido:
Device.SetFlags(new string[]{ "Shell_UWP_Experimental" });
El método Device.SetFlags
acepta un argumento IReadOnlyList<string>
, lo que permite habilitar varias marcas experimentales en una sola llamada de método:
Device.SetFlags(new string[]{ "Shell_UWP_Experimental", "AnotherFeature_Experimental" });
Advertencia
Nunca llame al método SetFlags
más de una vez, ya que las llamadas posteriores sobrescribirán el resultado de las llamadas anteriores.
marcas experimentales antiguas
En la tabla siguiente se enumeran las marcas experimentales para las características que ahora están en disponibilidad general y la versión de Xamarin.Forms en la que se quitó la marca experimental:
Marca | Versión de Xamarin.Forms |
---|---|
AppTheme_Experimental |
4.8 |
Brush_Experimental |
5.0 |
CarouselView_Experimental |
5.0 |
CollectionView_Experimental |
4.3 |
DragAndDrop_Experimental |
5.0 |
FastRenderers_Experimental |
4.0 |
IndicatorView_Experimental |
4.7 |
Markup_Experimental |
5.0 (movido a Xamarin Community Toolkit) |
MediaElement_Experimental |
5.0 (movido a Xamarin Community Toolkit) |
RadioButton_Experimental |
5.0 |
Shapes_Experimental |
5.0 |
Shell_Experimental |
4.0 |
StateTriggers_Experimental |
4.7 |
SwipeView_Experimental |
5.0 |
Visual_Experimental |
3,6 |