maui
                                
                                 maui copied to clipboard
                                
                                    maui copied to clipboard
                            
                            
                            
                        Pending code to port from Renderers to Handlers
Description
List of changes not directly related to properties(do not appear in the Wiki) pending from Renderers in Handlers. Mostly is code related to native control customization, events, VisualStateManager, etc.
Common
- What will happen with Platform Specific code?. There is nothing implemented in Handlers related with Platform Specific code.
- Require to allow to register Effects in Handlers?
ActivityIndicator
- Nothing pending.
Button
Android
Windows
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
- [ ] Override in the control the PreventGestureBubbling property (true).
CheckBox
Android
- [ ] Pending to set native control Tag.
- [x] Pending to implement IOnFocusChangeListener to update the IsFocused property.
DatePicker
Android
- [x] #5557
- [x] Pending code to close the modal in native control OnFocusChanged method.
- [x] Pending code to focus and unfocus.
iOS
- [x] Pending code to focus and unfocus.
Windows
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
Editor
Android
- [x] Implement OnKeyPreIme method to hide keyboard.
- [x] Pending code related focus and unfocus.
- [x] Implement OnAttachedToWindow method to avoid an issue related with the Enabled property.
iOS
- [x] Pending code to focus and unfocus.
- [x] Detect Frame changes to invoke ScrollRangeToVisible.
Windows
- [ ] Pending code related with VisualStates (UseFormsVsm).
Entry
Android
- [x] Update cursor visibility updating IsReadOnly property.
- [x] Hide keyboard in OnEditorAction method.
- [x] Hide keyboard in OnFocusChanged method.
- [x] Detect when Keyboard Back is pressed to clear the focus.
- [ ] Detect when selection changed to update cursor position, etc.
- [ ] Listen for close Button Touch.
iOS
- [ ] Override GetDesiredSize method.
Windows
- [x] Pending code to focus and unfocus.
Image
- [ ] Pending code related with cache.
ImageButton
Android
iOS
- [ ] Set MinimumButtonHeight (44).
Windows
- [x] Detect if image loading failed to update the IsLoading property.
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
- [ ] Override in the control the PreventGestureBubbling property (true).
IndicatorView
Android
- [ ] SetGravity to Center.
Label
Android
- [ ] Pending code related with GetDesiredSize method.
- [x] Recalculate Spans size and position in native view OnLayout method.
iOS
- [ ] Pending code related with GetDesiredSize method.
Windows
- [ ] Pending code related with GetDesiredSize method.
- [ ] Recalculate Spans size and position in native view ArrangeOverride method.
Picker
Android
- [ ] Implement AccessibilityDelegate and it using the SetAccessibilityDelegate method.
- [ ] Pending code related with focus and unfocus in the OnFocusChanged method.
iOS
- [x] Pending code to focus and unfocus.
Windows
- [ ] Detect when picker opens and closes to start refresh animation (StartAnimationRefresh method).
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
ProgressBar
- Nothing pending.
RadioButton
Android
Windows
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
- [ ] Override in the control the PreventGestureBubbling property (true).
- [x] Subscribe to Checked and Unchecked methods to update the IsChecked property value.
RefreshView
Android
- [ ] Implement IOnRefreshListener interface
ScrollView
Android
- [ ] Custom code to set the NativeView ContentDescription property.
- [x] Override Draw method in MauiScrollView to ClipRect.
- [ ] Pending code related with RTL and UpdateScrollPosition in OnLayout method.
iOS
- [ ] Custom code to set the NativeView AccessibilityIdentifier property.
- [x] Pending custom code to set the NativeView ScrollEnabled property when IsEnabled changed.
Windows
- [ ] Set default HorizontalScrollBarVisibility and VerticalScrollBarVisibility properties creating the NativeView.
- [ ] Custom code to set the Content margin when the Margin property changes.
SearchBar
Android
- [x] Clear focus in OnQueryTextSubmit method.
- [ ] Hide keyboard when OnFocusChanged.
- [x] Require custom code when IsEnabled property changed.
iOS
- [ ] Pending custom code in the MauiSearchBar control SizeThatFits method.
- [x] Update TextColor un NativeView TraitCollectionDidChange method.
- [x] Require custom code when IsEnabled property changed.
Windows
- [x] Update CancelButton color with the ReadyChanged event.
- [ ] Set the queryTextBox UseFormsVsm (now should be UseMauiVsm).
Slider
Windows
- [ ] Pending code to set the NativeView VerticalAlignment.
- [ ] Override in the control the PreventGestureBubbling property (true).
Stepper
- Nothing pending.
Switch
Android
- [ ] SetContentDescription(false).
TimePicker
Android
- [x] Pending code to focus and unfocus.
- [ ] Set NativeView TextAlignment property to Start.
iOS
- [x] Pending code to focus and unfocus.
Windows
- [ ] Pending code related with VisualStates (WireUpFormsVsm).
WebView
Android
- [x] Create MauiWebChromeClient based on FormsWebChromeClient.
- [x] Update NativeView to set SetSupportMultipleWindows property (true).
- [x] Update NativeView to set JavaScriptEnabled property (true).
- [x] Update NativeView to set DomStorageEnabled property (true).
iOS
- [x] Create custom WKWebViewConfiguration.
- [x] Create custom WKUIDelegate.
Windows
- [ ] Set up an internal WebView we can use to load and parse the original HTML string.
Steps to Reproduce
NOTE: Use the .NET MAUI Core Gallery to validate the different points.
Version with bug
Preview 13 (current)
Last version that worked well
Unknown/Other
Affected platforms
I was not able test on other platforms
Affected platform versions
Windows 10 1909, Android 11, etc
Did you find any workaround?
No response
Relevant log output
No response
All of the Android/OnTouchEvent/InputTransparent stuff can't be ported as-is (since we don't subclass all of the Android controls now). We can make it work using the wrapper - see https://github.com/dotnet/maui/tree/inputtransparent. I'll be (hopefully) submitting a PR for this today or tomorrow.
All of the Android/OnTouchEvent/InputTransparent stuff can't be ported as-is (since we don't subclass all of the Android controls now). We can make it work using the wrapper - see https://github.com/dotnet/maui/tree/inputtransparent. I'll be (hopefully) submitting a PR for this today or tomorrow.
Awesome. Could you update this issue updating the done tasks?
@jsuarezruiz I would validate the correctness of any code that was part of Forms that was hiding/showing the keyboard.
We shouldn't have to manage any keyboard visibility ourselves, that should all just work by nature of the platform.
Forms by default set a few properties that really messed with interactions
https://github.com/xamarin/Xamarin.Forms/blob/5209ec5a4e21bf3e468eecc334ce374420f547f7/Xamarin.Forms.Platform.Android/PlatformRenderer.cs#L22-L23
https://github.com/xamarin/Xamarin.Forms/blob/5209ec5a4e21bf3e468eecc334ce374420f547f7/Xamarin.Forms.Platform.Android/Renderers/PageRenderer.cs#L84
I'm guessing that keyboard code was all just compensating for properties that shouldn't have been set in the first place
Thank you so much for your bug report! Unfortunately, we cannot reproduce your issue with the information above, could you provide a sample project and screenshots or more details that we can reproduce your issue? That should greatly speed up the process, thanks!
Hi @jsuarezruiz. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.
We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.
Hi @jsuarezruiz. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.
Thank you so much for your bug report! Unfortunately, we cannot reproduce your issue with the information above, could you provide a sample project and screenshots or details repro steps that we can reproduce your issue? That should greatly speed up the process, thanks!