EmbedSample.Android.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using Avalonia.Platform;
  3. using Avalonia.Android;
  4. using ControlCatalog.Pages;
  5. namespace ControlCatalog.Android;
  6. public class EmbedSampleAndroid : INativeDemoControl
  7. {
  8. public IPlatformHandle CreateControl(bool isSecond, IPlatformHandle parent, Func<IPlatformHandle> createDefault)
  9. {
  10. var parentContext = (parent as AndroidViewControlHandle)?.View.Context
  11. ?? global::Android.App.Application.Context;
  12. if (isSecond)
  13. {
  14. var webView = new global::Android.Webkit.WebView(parentContext);
  15. webView.LoadUrl("https://www.android.com/");
  16. return new AndroidViewControlHandle(webView);
  17. }
  18. else
  19. {
  20. var button = new global::Android.Widget.Button(parentContext) { Text = "Hello world" };
  21. var clickCount = 0;
  22. button.Click += (sender, args) =>
  23. {
  24. clickCount++;
  25. button.Text = $"Click count {clickCount}";
  26. };
  27. return new AndroidViewControlHandle(button);
  28. }
  29. }
  30. }