maui icon indicating copy to clipboard operation
maui copied to clipboard

Decimal point on numeric keyboard not working since Net8.0

Open HaimoHeymann opened this issue 1 year ago • 7 comments

Description

Since the update to Net8.0: Cannot type the decimal point into an Entry control using the softkeyboard with NUMERIC layout. This happen only on a real Android device like Android Phone (API 33) oder Android Tablet (API 30). The emulator works correct. iOS devices are also do fine

Steps to Reproduce

  1. create new MAUIApp
  2. add entry with KEYBOARD.NUMERIC
  3. run and try to enter a decimal point, KEYBOARD.DEFAULT is not effected
       <VerticalStackLayout Padding="30,0" Spacing="25">
           <Label
               SemanticProperties.HeadingLevel="Level1"
               Style="{StaticResource Headline}"
               Text="Entry - Keyboard - Test" />
           <Entry Keyboard="Default" WidthRequest="300" FontSize="22"/>
           <Entry Keyboard="Numeric" WidthRequest="300" FontSize="22"/>
       </VerticalStackLayout>

Link to public reproduction project repository

https://github.com/HaimoHeymann/MauiApp1/tree/master

Version with bug

8.0.3

Is this a regression from previous behavior?

No, this is something new

Last version that worked well

7.0.101

Affected platforms

Android

Affected platform versions

Android API30 and API33

Did you find any workaround?

No

Relevant log output

No response

HaimoHeymann avatar Jan 02 '24 17:01 HaimoHeymann

Verified this issue with Visual Studio 17.10.0 Preview 1. Can repro on Android emulator(api34)/device(api33) with sample project. maui2

kevinxufei avatar Mar 06 '24 08:03 kevinxufei

@samhouts, since NET7 End of Support is May 14, 2024, and this regression blocks transition to NET8, what should be the expected strategy here?

get-flat avatar Apr 10 '24 13:04 get-flat

I have tested this with emulators and a real device on all version of .NET 8, and in all cases, I am able to enter a single decimal point with the numeric keyboard, as shown in this comment. The description of this issue seems to indicate that you cannot enter a decimal at all, but I wonder if you mean to say that you can't enter more than one decimal? Please clarify what is meant here. Thanks!

samhouts avatar Apr 10 '24 21:04 samhouts

Hi,

I tested again with these versions of .Net8.0 (8.0.3) and Visual Studio 17.9.3 in Debug mode:

  • Android Emulator Pixel 5: decimal point can be entered, limited to 1 point
  • Samsung Galaxy S20: no decimal point can be entered, but it is possible to enter the minus sign by double tapping the key
  • Samsung Galaxy Tablet: no decimal point can be entered, minus sign by double tapping
  • iOS Simulator iPhone 8 Plus: decimal point can be entered several times, no limitation to 1 point

Maybe it is an issue of Samsung Keyboard, as it also shows a different layout. Unfortunately, I only have Samsung devices to test. On iOS Simulator one can enter more than just 1 point

See also 2 screenshots and my Github project: https://github.com/HaimoHeymann/MauiApp1

Kbd1 KbdIos

HaimoHeymann avatar Apr 12 '24 08:04 HaimoHeymann

That is strange. I tried again with S8+, S9+, and I do see that keyboard style. If I single tap the .-, though, the single decimal point does work for me. I also tried my S24 for good measure, and that has a keyboard more similar to the Pixel keyboard, and that also allows the single decimal point.

The single decimal point is a quirk of Android when you're using the numeric-decimal input type.

samhouts avatar Apr 12 '24 22:04 samhouts

This is strange too: For my tests, the language on the Samsung device was set to 'German'. As soon as I changed the language to 'English', the error no longer occurs: The decimal point works fine - amaizing!

HaimoHeymann avatar Apr 13 '24 07:04 HaimoHeymann

One more comment: I changed the keyboard of my device from Samsung to Microsoft Swiftkey. The decimal point (in Germany the comma) is working fine. So, the Samsung keyboard seems to be the root cause.

HaimoHeymann avatar Apr 13 '24 12:04 HaimoHeymann