如何在Xamarin表单中获取编辑器的键盘完成按钮单击事件?

时间:2018-11-14 04:45:09

标签: xamarin xamarin.forms xamarin.ios xamarin.android

我在xamarin表单编辑器中使用了一个编辑器。我希望当用户单击键盘的“完成”按钮时,键盘应该隐藏并且我可以在其中执行一些操作。但是目前,当我单击“完成”按钮时,它将光标移至新行。

那么如何获取编辑器的“完成”按钮单击事件?

1 个答案:

答案 0 :(得分:0)

解决方案:

您可以使用custom renderers来实现。

对于iOS:

 public class customEditorRender : EditorRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Editor> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                // do whatever you want to the UITextView here!

                Control.ReturnKeyType = UIReturnKeyType.Done;

                Control.ShouldChangeText = (text, range, replacementString) =>
                {
                    if (replacementString.Equals("\n"))
                    {
                        //hide keyboard here
                        Control.EndEditing(true);

                        //perform some action here


                        return false;
                    }
                    else
                    {
                        return true;
                    }
                };
            }
        }
    }

我不擅长Android,但我认为您可以在Android中执行相同的操作。