2016-08-02 3 views
2

У меня уже есть приложение, созданное в Xamarin Forms, которое работает в Android и iOS.Android-виджет с использованием форм Xamarin?

Теперь я хочу создать Android-виджет.

Могу ли я использовать существующие страницы Xamarin Forms и создать Android-виджет?

Если да, есть ли образец для него.

Я не могу найти для этого большой помощи. Даже на форумах Xamarin Forms.

+0

Я не уверен, что это работает, но как насчет использования CustomeReneder? Таким образом, в этом случае вы можете использовать PageRenderer, а затем вы можете захватить его с помощью «OnElementChanged» или что-то в этом роде ... – BraveHeart

ответ

0

Я создаю сообщение тоста в верхней части страницы, когда получаю push-уведомления, подобные этому, поэтому вы можете создавать такие виджеты (или страницы, которые, как я полагаю). Упование, которое помогает u.

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 я тоже думаю, но вы должны Google немного :)

Смежные вопросы