2016-08-02 27 views
2

Ich habe bereits eine App in Xamarin Forms erstellt, die in Android und iOS funktioniert.Android Widget mit Xamarin Forms?

Jetzt möchte ich ein Android Widget erstellen.

Kann ich vorhandene Xamarin Forms Seiten verwenden und daraus ein Android Widget erstellen?

Wenn ja, gibt es eine Probe für das gleiche.

Ich kann nicht viel Hilfe dafür finden. Auch in den Xamarin Forms Foren.

+0

Ich bin mir nicht sicher, ob es funktioniert, aber wie wäre es, wenn Sie CustomeReneder verwenden? In diesem Fall können Sie den PageRenderer verwenden und dann können Sie ihn mit "OnElementChanged" oder etwas ähnlichem erfassen ... – BraveHeart

Antwort

0

Ich erstelle eine Toast-Nachricht auf der Oberseite meiner Seite, wenn ich eine Push-Benachrichtigung wie diese erhalte, so können Sie Widgets wie diese erstellen (oder Seiten, die ich vermute) .Hope, die Ihnen hilft.

var pw = new Android.Widget.PopupWindow(Xamarin.Forms.Forms.Context); //create a window 
var layout = new Android.Widget.RelativeLayout(Xamarin.Forms.Forms.Context); 
pw.ContentView = layout; //create your layout holder 
pw.Width = 100; //set window sizes 
pw.Height = 100; 
pw.WindowLayoutType = WindowManagerTypes.Toast; //window type (there are some other types too, just investigate :) 
var tv = new Android.Widget.TextView(Xamarin.Forms.Forms.Context); //create a text and add to your layout holder 
tv.Text = "Hello"; 
layout.AddView(tv); 
pw.ShowAtLocation(layout, GravityFlags.Top, 0, 0); //show your window 

Sie können das Fenster über pw.Dissmiss() entlassen, aber ich bin mit einem timerbecause es einen Toast ist

var timer = new System.Timers.Timer(); 
      timer.Interval = 5000; //5 seconds 
      timer.Elapsed += (sender, e) => 
      { 
       timer.Stop(); 
       Device.BeginInvokeOnMainThread(() => 
       { 
        pw.Dismiss(); 
       }); 
      }; 
      timer.Start(); 

Sie einen vordefinierten XAML aufblasen kann auch ich denke, aber Sie haben Google ein wenig :)