2016-08-02 140 views
2

我已經在Xamarin Forms中創建了一個在Android和iOS中工作的應用程序。使用Xamarin Forms的Android Widget?

現在,我想創建一個Android Widget。

我可以使用現有的Xamarin Forms頁面並創建一個Android Widget嗎?

如果是這樣,是否有相同的樣本。

我無法爲它找到太多幫助。即使在Xamarin表單論壇上。

+0

我不確定它是否有效,但如果您使用CustomeReneder如何?所以在這種情況下,你可以使用PageRenderer,然後你可以用「OnElementChanged」或類似的東西來捕獲它... – BraveHeart

回答

0

我創建的頁面的頂部敬酒消息,我當我收到一個推送通知的消息是這樣,你還是你可以創建一個這樣的小部件(或頁面我想),幫助ü。希望。

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 

您可以通過解僱pw.Dissmiss(窗口),但我使用的是timerbecause它是一個祝酒

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

可以膨脹預定義的XAML過我想,但你必須谷歌一點:)