public override void OnBackPressed() { if (MyDrawerLayout.IsDrawerOpen(GravityCompat.Start)) { MyDrawerLayout.CloseDrawer(GravityCompat.Start); } else { base.OnBackPressed(); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Title = Resources.GetString(Resource.String.title_home); MyDrawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout); Search = FindViewById <SearchView>(Resource.Id.search); SwipeRefresh = FindViewById <SwipeRefreshLayout>(Resource.Id.refresh); SwipeRefreshEmpty = FindViewById <SwipeRefreshLayout>(Resource.Id.refreshEmpty); Fab = FindViewById <FloatingActionButton>(Resource.Id.fab); ListViewRepositories = FindViewById <MvxListView>(Resource.Id.listRep); MyToggle = new ActionBarDrawerToggle(this, MyDrawerLayout, Resource.String.open_drawer, Resource.String.close_drawer); MyDrawerLayout.AddDrawerListener(MyToggle); MyToggle.SyncState(); ListViewRepositories.ViewTreeObserver.ScrollChanged += (sender, e) => { if (ViewModel.Repositories != null && ViewModel.Repositories.Count > 0 && ListViewRepositories.LastVisiblePosition >= ViewModel.Repositories.Count() - 10) { ViewModel.LoadMore(null); } }; SwipeRefresh.Refresh += Refresh; SwipeRefreshEmpty.Refresh += Refresh; Fab.Click += (sender, e) => { if (ViewModel.SearchVisible) { DoSearch(); } else { ViewModel.SearchVisible = true; ShowKeyboard(Search); } }; ListViewRepositories.ScrollStateChanged += (sender, e) => { if (e.ScrollState == Android.Widget.ScrollState.Idle) { Fab.Show(); } else { Fab.Hide(); ViewModel.SearchVisible = false; } }; Search.SetIconifiedByDefault(false); Search.QueryTextChange += (object sender, SearchView.QueryTextChangeEventArgs e) => { if (string.IsNullOrEmpty(Search.Query)) { DoSearch(false); } }; Search.QueryTextSubmit += (object sender, SearchView.QueryTextSubmitEventArgs e) => { DoSearch(); }; }