示例#1
0
        void HandleSectionItemClick(object sender, AdapterView.ItemClickEventArgs e)
        {
            switch (e.Position)
            {
            case 0:
                if (mapFragment == null)
                {
                    mapFragment = new ProntoMapFragment(this);
                }
                SwitchTo(mapFragment);
                break;

            case 1:
                if (favoriteFragment == null)
                {
                    favoriteFragment = new FavoriteFragment(this, id =>
                    {
                        SwitchTo(mapFragment);
                        mapFragment.CenterAndOpenStationOnMap(id,
                                                              zoom: 17,
                                                              animDurationID: Android.Resource.Integer.ConfigLongAnimTime);
                    });
                }
                SwitchTo(favoriteFragment);
                break;

            case 2:
                StartActivity(new Intent(this, typeof(SettingsActivity)));
                var data = new Dictionary <string, string>();
                data.Add("Section", "Settings");
                Xamarin.Insights.Track("Navigated", data);
                break;

            /*case 2:
             *                  if (rentalFragment == null)
             *                          rentalFragment = new RentalFragment (this);
             *                  SwitchTo (rentalFragment);
             *                  break;*/
            default:
                return;
            }
            SetSelectedMenuIndex(e.Position);
            drawerMenu.SetItemChecked(e.Position, true);
            drawer.CloseDrawers();
        }
示例#2
0
 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     if (requestCode == ConnectionFailureResolutionRequest)
     {
         if (resultCode == Result.Ok && CheckGooglePlayServices())
         {
             if (client == null)
             {
                 client = CreateApiClient();
                 client.Connect();
             }
             SwitchTo(mapFragment = new ProntoMapFragment(this));
         }
         else
         {
             Finish();
         }
     }
     else
     {
         base.OnActivityResult(requestCode, resultCode, data);
     }
 }
示例#3
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            Xamarin.Insights.Initialize("0d4fce398ef6007c41608174cd08dca7ea995c7a", this);
            Xamarin.Insights.ForceDataTransmission = true;
            AndroidExtensions.Initialize(this);

            this.drawer       = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            this.drawerToggle = new ProntoActionBarToggle(this,
                                                          drawer,
                                                          Resource.String.open_drawer,
                                                          Resource.String.close_drawer)
            {
                OpenCallback = () =>
                {
                    SupportActionBar.Title = Title;
                    if (CurrentFragment != null)
                    {
                        CurrentFragment.HasOptionsMenu = false;
                    }
                    InvalidateOptionsMenu();
                },
                CloseCallback = () =>
                {
                    var currentFragment = CurrentFragment;
                    if (currentFragment != null)
                    {
                        SupportActionBar.Title         = ((IProntoSection)currentFragment).Title;
                        currentFragment.HasOptionsMenu = true;
                    }
                    InvalidateOptionsMenu();
                },
            };
            drawer.SetDrawerShadow(Resource.Drawable.drawer_shadow, (int)GravityFlags.Left);
            drawer.SetDrawerListener(drawerToggle);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);

            Pronto.Instance.Subscribe(this);
            FavoriteManager.FavoritesChanged += (sender, e) => aroundAdapter.Refresh();

            drawerMenu = FindViewById <ListView>(Resource.Id.left_drawer);
            drawerMenu.AddFooterView(new Android.Support.V4.Widget.Space(this));
            drawerMenu.ItemClick += HandleSectionItemClick;
            menuNormalTf          = Typeface.Create(Resources.GetString(Resource.String.menu_item_fontFamily),
                                                    TypefaceStyle.Normal);

            drawerMenu.Adapter = new DrawerMenuAdapter(this);

            drawerAround            = FindViewById <ListView>(Resource.Id.left_drawer_around);
            drawerAround.ItemClick += HandleAroundItemClick;
            drawerAround.Adapter    = aroundAdapter = new DrawerAroundAdapter(this);

            drawerMenu.SetItemChecked(0, true);

            if (CheckGooglePlayServices())
            {
                client = CreateApiClient();
                SwitchTo(mapFragment   = new ProntoMapFragment(this));
                SupportActionBar.Title = ((IProntoSection)mapFragment).Title;
            }
        }