diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-04-24 12:25:26 -0400 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-04-24 12:25:26 -0400 |
commit | 5907152c50ee2c658b266f2804e6b383bb15a6f1 (patch) | |
tree | 9beb907623359723456c5c03b08922bebc4f41f3 /Xamarin.Forms.Controls/GalleryPages | |
parent | feac1ba3ed6df5e27b3fa2076bd15c190cbacd1c (diff) | |
download | xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.gz xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.tar.bz2 xamarin-forms-5907152c50ee2c658b266f2804e6b383bb15a6f1.zip |
Evolve feature branch (#117)
* Initial import of evolve features
* [Android] Add Xamarin.Forms.Platform.Android.AppLinks project
* [iOS] Fix issues with c# 6 features on iOS AppLinks
* Added naive stanza to update-docs-windows.bat to produce Pages docs. Not tested. (#69)
* Update packages
* Add AppLinks android nuspec and fix linker issues
* Fix build
* Fix nusepc
* Fix nuspec
* Update android support nugets to 23.2.1
* Update Xamarin.UITest
* Add CardView
* [iOS] Fix app link for CoreSpotlight
* [Android] Update AppLinks android support libs
* Add Newtonsoft.Json dependency to nuspec
* Fix NRE when setting ControlTemplate to null
* Move to ModernHttpClient for download
* Try fix build
* Preserve android app links
* Fix margin issue
* General coding and simple fixes
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages')
-rw-r--r-- | Xamarin.Forms.Controls/GalleryPages/AppLinkPageGallery.cs | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/AppLinkPageGallery.cs b/Xamarin.Forms.Controls/GalleryPages/AppLinkPageGallery.cs new file mode 100644 index 00000000..bc765dd9 --- /dev/null +++ b/Xamarin.Forms.Controls/GalleryPages/AppLinkPageGallery.cs @@ -0,0 +1,80 @@ +using System; + +namespace Xamarin.Forms.Controls +{ + public class AppLinkPageGallery : ContentPage + { + public AppLinkPageGallery () + { + _linkEntry = GetEntry (); + _lbl = new Label { + Text = "You are on a demo page via app url", IsVisible = ShowLabel + }; + + var btnRegister = new Button { Text = "Index this Page", + Command = new Command (() => Application.Current.AppLinks.RegisterLink (LinkEntry)) + }; + var btnRemove = new Button { Text = "Remove this Page from index", + Command = new Command (() => Application.Current.AppLinks.DeregisterLink (LinkEntry)) + }; + + var btnClearAll = new Button { Text = "Clear All Indexed Data", + // Command = new Command (() => Application.Current.AppLinks.DeregisterAll ()) + }; + + Content = new StackLayout { Children = { _lbl, btnRegister, btnRemove, btnClearAll } }; + } + + protected override void OnAppearing () + { + LinkEntry.IsLinkActive = true; + } + + protected override void OnDisappearing () + { + LinkEntry.IsLinkActive = false; + } + + public bool ShowLabel { + get { + return _showlabel; + } + set { + _showlabel = value; + _lbl.IsVisible = _showlabel; + } + } + + internal IAppLinkEntry LinkEntry { + get { + return _linkEntry; + } + } + + bool _showlabel; + IAppLinkEntry _linkEntry; + Label _lbl; + + AppLinkEntry GetEntry () + { + if (string.IsNullOrEmpty (Title)) + Title = "App Link Page Gallery"; + + var type = GetType ().ToString (); + var entry = new AppLinkEntry { + Title = Title, + Description =$"This is the page {Title} \nof Xamarin Forms Gallery", + AppLinkUri = new Uri ($"http://{App.AppName}/gallery/{type}", UriKind.RelativeOrAbsolute), + IsLinkActive = true, + Thumbnail = ImageSource.FromFile ("seth.png") + }; + + entry.KeyValues.Add ("contentType", "GalleryPage"); + entry.KeyValues.Add ("appName", App.AppName); + entry.KeyValues.Add ("companyName", "Xamarin"); + + return entry; + } + } +} + |