void CreateDialog() { _listView = new AListView(_context); _listView.Focusable = false; _listView.DescendantFocusability = Android.Views.DescendantFocusability.AfterDescendants; _listView.SetPadding( (int)_context.ToPixels(_PickerCell.Padding.Left), (int)_context.ToPixels(_PickerCell.Padding.Top), (int)_context.ToPixels(_PickerCell.Padding.Right), (int)_context.ToPixels(_PickerCell.Padding.Bottom) ); _listView.SetDrawSelectorOnTop(true); _listView.ChoiceMode = _PickerCell.MaxSelectedNumber == 1 ? Android.Widget.ChoiceMode.Single : Android.Widget.ChoiceMode.Multiple; _adapter = new PickerAdapter(_context, _PickerCell, _listView); _listView.OnItemClickListener = _adapter; _listView.Adapter = _adapter; _adapter.CloseAction = () => { _dialog.GetButton((int)DialogButtonType.Positive).PerformClick(); }; if (_dialog == null) { using (var builder = new AlertDialog.Builder(_context)) { builder.SetTitle(_PickerCell.PageTitle); builder.SetView(_listView); builder.SetNegativeButton(global::Android.Resource.String.Cancel, (o, args) => { ClearFocus(); }); builder.SetPositiveButton(global::Android.Resource.String.Ok, (o, args) => { _adapter.DoneSelect(); UpdateSelectedItems(); _PickerCell.InvokeCommand(); ClearFocus(); }); _dialog = builder.Create(); } _dialog.SetCanceledOnTouchOutside(true); _dialog.SetOnDismissListener(this); _dialog.SetOnShowListener(this); _dialog.Show(); // Pending //var buttonTextColor = _PickerCell.AccentColor.IsDefault ? Xamarin.Forms.Color.Accent.ToAndroid() : _PickerCell.AccentColor.ToAndroid(); //_dialog.GetButton((int)DialogButtonType.Positive).SetTextColor(buttonTextColor); //_dialog.GetButton((int)DialogButtonType.Negative).SetTextColor(buttonTextColor); } }
void CreateDialog() { _listView = new AListView(_context); _listView.Focusable = false; _listView.DescendantFocusability = Android.Views.DescendantFocusability.AfterDescendants; _listView.SetDrawSelectorOnTop(true); _listView.ChoiceMode = _PickerCell.MaxSelectedNumber == 1 ? Android.Widget.ChoiceMode.Single : Android.Widget.ChoiceMode.Multiple; _adapter = new PickerAdapter(_context, _PickerCell, _listView); _listView.OnItemClickListener = _adapter; _listView.Adapter = _adapter; if (_dialog == null) { using (var builder = new AlertDialog.Builder(_context)) { builder.SetTitle(_PickerCell.PageTitle); builder.SetView(_listView); builder.SetNegativeButton(global::Android.Resource.String.Cancel, (o, args) => { ClearFocus(); }); builder.SetPositiveButton(global::Android.Resource.String.Ok, (o, args) => { _adapter.DoneSelect(); UpdateSelectedItems(true); _PickerCell.InvokeCommand(); ClearFocus(); }); _dialog = builder.Create(); } _dialog.SetCanceledOnTouchOutside(true); _dialog.SetOnDismissListener(this); _dialog.SetOnShowListener(this); _dialog.Show(); } }