xamarin/Xamarin.Forms

Xamarin forms (3.3.0.912540) on Android - Custom PickerRenderer Control.Click stops working on first user's click

Open

#4,732 opened on Dec 14, 2018

 (1 comment) (0 reactions) (0 assignees)C# (1,926 forks)batch import
3.4.0a/customrenderere/3 :clock3:help wantedi/regressioninactivep/Androidt/bug :bug:up-for-grabs

Repository metrics

Stars
 (5,644 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Description

On Android - Custom PickerRenderer Control.Click stops working on first user's click.

After updating nuget packages from Xamarin forms 3.2 to 3.4.0.1008975.

We are using a Custom PickerRenderer -to add a custom dropdown icon and some styling and this works and looks same as before. -to use our own picker modal we have added our Control.Click += Control_Click; event listener which previously opened our custom dialog.

Steps to Reproduce

  1. The first time user taps/clicks on the CustomPicker Xamarin opens the OTB Android Picker dialog (and not our custom renderer like it did before nuget updates). And If the user selects/closes the OTB dialog and taps/clicks the CustomPicker second time; now our Control_Click event is fired and our custom picker dialog is shown.
  2. Also the OTB picker dialog that opens up.. does not open smoothly; the screen flickers while the otb dialog is first rendered on top of the screen and resized/moved to the center of the screen.

Expected Behavior

Open our custom renderer when user tap the Custom Picker

Actual Behavior

The first time user taps/clicks on the CustomPicker Xamarin opens the OTB Android Picker dialog

Basic Information

  • Version with issue: XF 3.4.0.1008975

  • Last known good version: XF 3.2.0.871581

  • IDE: Visual Studio 2017 Professinal

  • Platform Target Frameworks:

    • Android: API 16 - 27
  • Affected Devices: We can reproduce this issue with all our Android real test devices and emulators (API 16 - 27). And all our developers and testers.

Screenshots

gif

Reproduction Link

CustomPickerBug.zip

Contributor guide