Xamarin Forms Labs is a open source project that aims to provide a powerful and cross platform set of controls and helpers tailored to work with Xamarin Forms.
Xamarin Forms Labs is a open source project that aims to provide a powerful and cross platform set of controls tailored to work with Xamarin Forms.
Call for action for all Xamarin Developers, embrace this project and share your controls and services with the community, add your own control to the toolkit.
This is a private fork, which can be significantly differenct from the original one. It’s focusing on the controls only. Right now recent NuGet packages can be grabbed from MyGet.
Available controls
You can check the latest state of available controls here
Available services (Beta)
Available Mvvm helpers (Beta)
Available Plugins (Beta)
Add Xamarin.Forms.Labs.Controls reference to your projects , main pcl, ios, android, and wp.
Xaml :
Reference the assembly namespace
xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms"
Render your control:
<controls:ImageButton Text="Twitter" BackgroundColor="#01abdf" TextColor="#ffffff" HeightRequest="75" WidthRequest="175" Image="icon_twitter" Orientation="ImageToLeft" ImageHeightRequest="50" ImageWidthRequest="50" />
Or from your codebehind:
var button = new ImageButton() {
ImageHeightRequest = 50,
ImageWidthRequest = 50,
Orientation = Orientation.ImageToLeft,
Source = "icon_twitter.png",
Text = "Twitter"
};
stacker.Children.Add (button);
TextToSpeechService
DependencyService.Get<ITextToSpeechService>().Speak(TextToSpeak);
Device
var device = Resolver.Resolve<IDevice>();
device.Display; //display information
device.Battery; //battery information
PhoneService
var device = Resolver.Resolve<IDevice>();
// not all devices have phone service, f.e. iPod and Android tablets
// so we need to check if phone service is available
if (device.PhoneService != null)
{
device.PhoneService.DialNumber("+1 (855) 926-2746");
}
Do this before using the services
Step 1:
iOS => Make sure your AppDelegate inherits from XFormsApplicationDelegate
Android => MainActivity inherits from XFormsApplicationDroid
Windows Phone => Add this line to your App.cs var app = new XFormsAppWP(); app.Init(this);
Step 2: Initialize the container in your app startup code.
var container = new SimpleContainer ();
container.Register<IDevice> (t => AppleDevice.CurrentDevice);
container.Register<IDisplay> (t => t.Resolve<IDevice> ().Display);
container.Register<INetwork>(t=> t.Resolve<IDevice>().Network);
Resolver.SetResolver (container.GetResolver ());
For more info on initialization go to the Labs Wiki ______
Current version v1.2.0
v1.2.0 - Xamarin Forms Labs Framework Helper for online use
v1.2.0 - Xamarin.Forms.Labs.chm file for offline use
Based in last developments (master)
Master- Xamarin Forms Labs Framework Helper for online use
Master - Xamarin.Forms.Labs.chm file for offline use ______
To develop on this project, just clone the project to your computer, package restore is enable so build the solution first, if you get any errors try to build each project independently .
Main Packages:
Plugins:
Caching
DI
Serialization
Cryptography
Everbody is welcome to contribute.
Twitter hashtag : #xflabs
License Apache 2.0 more about that in the LICENSE file.