public static void SetAnimeListAdapter(this LinearLayout listView, Context context, IList <AnimeItemViewModel> items, AnimeListDisplayModes mode, Action <AnimeItemViewModel> onClick = null) { switch (mode) { case AnimeListDisplayModes.IndefiniteList: listView.SetAdapter(items.GetAdapter((i, model, arg3) => { var view = new AnimeListItem(context, onClick); view.BindModel(model, false); return(view); }) ); break; case AnimeListDisplayModes.IndefiniteGrid: listView.SetAdapter(items.GetAdapter((i, model, arg3) => { var view = new AnimeGridItem(context, false, onClick); view.BindModel(model, false); return(view); }) ); break; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, "SetAnimeListAdapter, do we want compact now?"); } }
public void ResetSelectionForMode(AnimeListDisplayModes currMode) { try { switch (currMode) { case AnimeListDisplayModes.IndefiniteList: AnimesItemsIndefinite.SelectedItem = null; break; case AnimeListDisplayModes.IndefiniteGrid: AnimesGridIndefinite.SelectedItem = null; break; case AnimeListDisplayModes.IndefiniteCompactList: AnimeCompactItemsIndefinite.SelectedItem = null; break; default: throw new ArgumentOutOfRangeException(nameof(currMode), currMode, null); } } catch (Exception e) { } }
public AnimeListPageNavigationArgs(SortOptions sort, int status, bool desc, AnimeListWorkModes seasonal, string source, AnimeSeason season, AnimeListDisplayModes dispMode) { SortOption = sort; Status = status; Descending = desc; WorkMode = seasonal; ListSource = source; NavArgs = true; CurrSeason = season; DisplayMode = dispMode; }
public static void InjectAnimeListAdapterWithFooter(this AbsListView listView, Context context, IList <AnimeItemViewModel> items, AnimeListDisplayModes mode, View footer, Action <AnimeItemViewModel> onClick = null, bool allowGridItemSwipe = true, bool skipBugFix = false) { switch (mode) { case AnimeListDisplayModes.IndefiniteList: listView.InjectFlingAdapter(items, (view, i, model) => { ((AnimeListItem)view).BindModel(model, false); }, (view, i, model) => { ((AnimeListItem)view).BindModel(model, true); }, i => new AnimeListItem(context, onClick) , null, footer); break; case AnimeListDisplayModes.IndefiniteGrid: listView.InjectFlingAdapter(items, (view, i, model) => { ((AnimeGridItem)view).BindModel(model, false); }, (view, i, model) => { ((AnimeGridItem)view).BindModel(model, true); }, i => new AnimeGridItem(context, allowGridItemSwipe, onClick) , null, footer, skipBugFix); break; case AnimeListDisplayModes.IndefiniteCompactList: listView.InjectFlingAdapter(items, (view, i, model) => { var item = (AnimeCompactItem)view; item.Position = i; item.BindModel(model, false); }, (view, i, model) => { var item = (AnimeCompactItem)view; item.Position = i; item.BindModel(model, true); }, i => new AnimeCompactItem(context, i, onClick) , null, footer); break; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); } }
private void ResetSelectionForMode(AnimeListDisplayModes currMode) { try { AnimesItemsIndefinite.SelectedItem = null; AnimesGridIndefinite.SelectedItem = null; AnimeCompactItemsIndefinite.SelectedItem = null; } catch (Exception) { // } }
public static DroppyMenuPopup BuildForAnimeListDisplayModeSelection(Context context, View parent, IEnumerable <Tuple <AnimeListDisplayModes, string> > items, Action <AnimeListDisplayModes> callback, AnimeListDisplayModes currentMode) { ParamRelativeLayout = new ViewGroup.LayoutParams(DimensionsHelper.DpToPx(150), DimensionsHelper.DpToPx(38)); var droppyBuilder = new DroppyMenuPopup.Builder(context, parent); InjectAnimation(droppyBuilder); var listener = new Action <int>(i => callback.Invoke((AnimeListDisplayModes)i)); foreach (var item in items) { if (item.Item1 == currentMode) { droppyBuilder.AddMenuItem( new DroppyMenuCustomItem(BuildItem(context, item.Item2, listener, (int)item.Item1, ResourceExtension.BrushSelectedDialogItem, ResourceExtension.AccentColour))); } else //highlighted { droppyBuilder.AddMenuItem( new DroppyMenuCustomItem(BuildItem(context, item.Item2, listener, (int)item.Item1))); } } droppyBuilder.SetYOffset(DimensionsHelper.DpToPx(30)); return(droppyBuilder.Build()); }
private void OnDisplayModeSelectionChanged(AnimeListDisplayModes animeListDisplayModes) { ViewModel.CurrentlySelectedDisplayMode = new Tuple<AnimeListDisplayModes, string>(animeListDisplayModes,""); _displayMenu.Dismiss(true); _displayMenu = null; }
private void OnDisplayModeSelectionChanged(AnimeListDisplayModes animeListDisplayModes) { ViewModel.CurrentlySelectedDisplayMode = new Tuple <AnimeListDisplayModes, string>(animeListDisplayModes, ""); _displayMenu.Dismiss(true); _displayMenu = null; }