private void HandleTopNav() { List <ISpanned> articles; if (library == Library.Bible) { // Chapter numbers only articles = primaryChapters.Select(a => Html.FromHtml(a.ToString().Split(new[] { ' ' }).Last())).ToList(); } else { // Article titles articles = primaryChapters; } int width = (int)(App.STATE.Activity.Resources.GetDimension(Resource.Dimension.bible_nav_bible_book_grid_width) / App.STATE.Activity.Resources.DisplayMetrics.Density); if (library != Library.Bible) { if (width > 100) { gridView.NumColumns = 3; } else { gridView.NumColumns = 1; } gridView.StretchMode = StretchMode.StretchColumnWidth; } else { gridView.NumColumns = -1; gridView.StretchMode = StretchMode.NoStretch; } gridView.Adapter = new ArticleButtonAdapter(Activity, articles.ToArray()); int index = GetNavigationIndex(); if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) { gridView.SetItemChecked(index, true); } gridView.SetSelection(index); }
public void ShowChapterPrompt() { string title = gridViewTitle.Text; LayoutInflater inflater = (LayoutInflater)Activity.GetSystemService(Context.LayoutInflaterService); View view = inflater.Inflate(Resource.Layout.DialogChapterSelect, null); HeaderFooterGridView grid = view.FindViewById <HeaderFooterGridView>(Resource.Id.chapterSelectGridView); grid.SetSelector(Android.Resource.Color.Transparent); if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) { grid.ChoiceMode = ChoiceMode.Single; } List <ISpanned> articles; if (library == Library.Bible) { // Chapter numbers only articles = primaryChapters.Select(a => Html.FromHtml(a.ToString().Split(new[] { ' ' }).Last())).ToList(); grid.StretchMode = StretchMode.NoStretch; grid.NumColumns = -1; } else if (library == Library.Insight) { // Article titles articles = primaryChapters; grid.StretchMode = StretchMode.StretchColumnWidth; grid.NumColumns = 2; } else { // Article titles articles = primaryChapters; grid.StretchMode = StretchMode.StretchColumnWidth; grid.NumColumns = 1; } // If one article, do nothing if (articles.Count == 1) { return; } MaterialDialog dialog = null; grid.Adapter = new ArticleButtonAdapter(Activity, articles.ToArray()); grid.ItemClick += SelectChapter; grid.ItemClick += delegate { dialog.Dismiss(); }; int index = GetNavigationIndex(); if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) { grid.SetItemChecked(index, true); } grid.SetSelection(index); MaterialDialog.Builder popup = new MaterialDialog.Builder(Activity); popup.SetCustomView(view, false); popup.SetTitle(title.Replace("\n", "<br/>").Split('<')[0]); popup.SetNegativeText("X"); dialog = popup.Show(); }