summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls/CoreGalleryPages/WebViewCoreGalleryPage.cs
blob: 229aed3be2598205b006c448abd35c222f70fa69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using Xamarin.Forms.CustomAttributes;

namespace Xamarin.Forms.Controls
{
	internal class WebViewCoreGalleryPage : CoreGalleryPage<WebView>
	{
		protected override bool SupportsFocus
		{
			get { return false; }
		}

		protected override void InitializeElement (WebView element)
		{
			element.HeightRequest = 200;

			element.Source = new UrlWebViewSource { Url = "http://xamarin.com/" };
		}

		protected override void Build (StackLayout stackLayout)
		{
			base.Build (stackLayout);

			var urlWebViewSourceContainer = new ViewContainer<WebView> (Test.WebView.UrlWebViewSource, 
				new WebView {
					Source = new UrlWebViewSource { Url = "https://www.google.com/" },
					HeightRequest = 200
				}
			);

			const string html = "<html><div class=\"test\"><h2>I am raw html</h2></div></html>";
			var htmlWebViewSourceContainer = new ViewContainer<WebView> (Test.WebView.HtmlWebViewSource, 
				new WebView {
					Source = new HtmlWebViewSource { Html = html },
					HeightRequest = 200
				}
			);

			var htmlFileWebSourceContainer = new ViewContainer<WebView> (Test.WebView.LoadHtml,
				new WebView {
					Source = new HtmlWebViewSource { 
						Html = @"<html>
<head>
<link rel=""stylesheet"" href=""default.css"">
</head>
<body>
<h1>Xamarin.Forms</h1>
<p>The CSS and image are loaded from local files!</p>
<img src='WebImages/XamarinLogo.png'/>
<p><a href=""local.html"">next page</a></p>
</body>
</html>"
					},
					HeightRequest = 200
				}
			);

			Add (urlWebViewSourceContainer);
			Add (htmlWebViewSourceContainer);
			Add (htmlFileWebSourceContainer);
		}
	}
}