protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it edit = FindViewById <EditText> (Resource.Id.edit); button = FindViewById <Button> (Resource.Id.button); may_launch_button = FindViewById <Button> (Resource.Id.may_launch_button); warmup_button = FindViewById <Button> (Resource.Id.warmup_button); if (hostedManager == null) { hostedManager = new HostedActivityManager(this); hostedManager.UserNavigation += (sessionId, url, extras) => { Console.WriteLine("UserNavigation: {0}, {1}", sessionId, url); }; } warmup_button.Click += (sender, e) => { // Prepare hostedManager.BindService(); hostedManager.Warmup(); }; may_launch_button.Click += (sender, e) => { // Notify the web view we may load a url so it might want to preload it var url = edit.Text; hostedManager.MayLaunchUrl(url, null); }; button.Click += (sender, e) => { var url = edit.Text; var uiBuilder = new HostedUIBuilder(); // Xamarin Blue! uiBuilder.SetToolbarColor(Color.Argb(255, 52, 152, 219)); // Setup our menu and action bar items PrepareMenuItems(uiBuilder); PrepareActionButton(uiBuilder); // Customize animations uiBuilder.SetStartAnimations(this, Resource.Animation.slide_in_right, Resource.Animation.slide_out_left); uiBuilder.SetExitAnimations(this, Resource.Animation.slide_in_left, Resource.Animation.slide_out_right); // Load the url! hostedManager.LoadUrl(url, uiBuilder); }; if (Intent != null && Intent.HasExtra("hug")) { Toast.MakeText(this, "Aww, thanks!", ToastLength.Long).Show(); } }
void PrepareActionButton(HostedUIBuilder uiBuilder) { // An example intent that sends an email. Intent actionIntent = new Intent(Intent.ActionSend); actionIntent.SetType("*/*"); actionIntent.PutExtra(Intent.ExtraEmail, "*****@*****.**"); actionIntent.PutExtra(Intent.ExtraSubject, "Help me make awesome apps!"); PendingIntent pi = PendingIntent.GetActivity(ApplicationContext, 0, actionIntent, 0); Bitmap icon = BitmapFactory.DecodeResource(Resources, Resource.Drawable.Icon); uiBuilder.SetActionButton(icon, pi); }
void PrepareMenuItems(HostedUIBuilder uiBuilder) { var menuIntent = new Intent(); menuIntent.SetClass(ApplicationContext, typeof(MainActivity)); menuIntent.PutExtra("hug", true); // Optional animation configuration when the user clicks menu items. var menuBundle = ActivityOptions.MakeCustomAnimation(this, Android.Resource.Animation.SlideInLeft, Android.Resource.Animation.SlideOutRight).ToBundle(); var pi = PendingIntent.GetActivity(ApplicationContext, 0, menuIntent, 0, menuBundle); uiBuilder.AddMenuItem("Hug a Monkey", pi); }