// -----------------------------------------------------------------------------

        // Overrides
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                // Init
                _formsView = e.NewElement as ManneDropDownView;

                // Create Native View
                var view = new UIView {
                    BackgroundColor = _formsView.BackgroundColor.ToUIColor()
                };

                _iconImageView      = new UIImageView(new UIImage("icon_dropdown-arr.png"));
                _selectedValueLabel = new UILabel();

                _dropDownView = new UIView {
                    BackgroundColor = UIColor.FromRGBA(0, 0, 0, 0), Hidden = true
                };
                _dropDownTableView = new UITableView
                {
                    SeparatorStyle  = UITableViewCellSeparatorStyle.None,
                    BackgroundColor = _formsView.BackgroundColor.ToUIColor()
                };

                _dropDownTableSource      = new DropDownTableSource(ItemSelected);
                _dropDownTableView.Source = _dropDownTableSource;

                view.AddSubviews(_selectedValueLabel, _iconImageView);

                SetNativeControl(view);

                // Add Gesture Recognizers
                Control.AddGestureRecognizer(new UITapGestureRecognizer(ViewSelected));
                _dropDownView.AddGestureRecognizer(new UITapGestureRecognizer(HideDropDown));

                // Handle TableView
                UpdateDropDownTable();
                SelectItem();
            }
        }
Example #2
0
        // -----------------------------------------------------------------------------

        // Overrides
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                // Init
                _formsView = e.NewElement as ManneDropDownView;

                // Create Native View
                _marketSpinner = new Spinner(Context);

                _marketSpinner.SetBackgroundResource(Resource.Drawable.spinner_background);
                _marketSpinner.SetPadding(10 * (int)AndroidDevice.DisplayMetrics.Density, 0, 0, 0);
                _marketSpinner.ItemSelected += ItemSelected;

                SetNativeControl(_marketSpinner);

                // Handle Spinner
                UpdateDropDownList();
                SelectItem();
            }
        }