Browse Source

limited set of return key types for cross platform.

Dan Walmsley 3 years ago
parent
commit
99acb0d50c

+ 5 - 9
src/Avalonia.Base/Input/TextInput/TextInputReturnKeyType.cs

@@ -3,15 +3,11 @@ namespace Avalonia.Input.TextInput;
 public enum TextInputReturnKeyType
 public enum TextInputReturnKeyType
 {
 {
     Default,
     Default,
+    Return,
+    Done,
     Go,
     Go,
-    Google,
-    Join,
-    Next,
-    Route,
-    Search,
     Send,
     Send,
-    Yahoo,
-    Done,
-    EmergencyCall,
-    Continue,
+    Search,
+    Next,
+    Previous
 }
 }

+ 9 - 3
src/iOS/Avalonia.iOS/TextInputResponder.Properties.cs

@@ -42,10 +42,16 @@ partial class AvaloniaView
             {
             {
                 if (_view._options != null)
                 if (_view._options != null)
                 {
                 {
-                    if (_view._options.ReturnKeyType == TextInputReturnKeyType.Default)
+                    return _view._options.ReturnKeyType switch
                     {
                     {
-                        return _view._options.Multiline ? UIReturnKeyType.Default : UIReturnKeyType.Done;
-                    }
+                        TextInputReturnKeyType.Done => UIReturnKeyType.Done,
+                        TextInputReturnKeyType.Go => UIReturnKeyType.Go,
+                        TextInputReturnKeyType.Search => UIReturnKeyType.Search,
+                        TextInputReturnKeyType.Next => UIReturnKeyType.Next,
+                        TextInputReturnKeyType.Return => UIReturnKeyType.Default,
+                        TextInputReturnKeyType.Send => UIReturnKeyType.Send,
+                        _ => _view._options.Multiline ? UIReturnKeyType.Default : UIReturnKeyType.Done
+                    };
                 }
                 }
 
 
                 return UIReturnKeyType.Default;
                 return UIReturnKeyType.Default;