public virtual async Task <string> DisplayActionSheetAsync(string title, string cancelButton, string destroyButton, params string[] otherButtons) { List <IActionSheetButton> buttons = new List <IActionSheetButton>(); string result = null; if (!string.IsNullOrWhiteSpace(cancelButton)) { buttons.Add(ActionSheetButton.CreateCancelButton(cancelButton, SetResult, cancelButton)); } if (!string.IsNullOrWhiteSpace(destroyButton)) { buttons.Add(ActionSheetButton.CreateDestroyButton(destroyButton, SetResult, destroyButton)); } foreach (var button in otherButtons) { buttons.Add(ActionSheetButton.CreateButton(button, SetResult, button)); } void SetResult(string s) => result = s; var request = new ActionSheetRequest { Title = title, Buttons = buttons }; await DisplayActionSheetAsync(request); return(result); }
public async Task DisplayActionSheetAsync(ActionSheetRequest request) { var page = _popupDialogFactory.GetActionSheet(request); await DisplayActionSheetAsync(page, request.Animated ?? true); }
public ActionSheetPageBase GetActionSheet(ActionSheetRequest request) => ActionSheetPage.CreatePage(request);