首页 文章

Xamarin在页面上表示Android键事件处理

提问于
浏览
0

目前我正在为Android开发PCL Xamarin Forms . 我现在正在使用一个Entry,它通过Text_Changed事件捕获扫描数据 . 我想知道是否可以在内容页面上处理此扫描数据的事件 . 我在Xamarin中错过了像KeyPress这样的东西 . 有没有人有任何解决方案?

1 回答

  • 1

    您可以使用CustomEntry .

    在表单中添加一个新类:

    public class CustomEntry : Entry
    {
        public Action DonePressed = delegate {};
    
    }
    

    在Android项目中,添加CustomEntryRenderer:

    class CustomEntryRenderer : EntryRenderer
     {
        private CustomEntry customEntry;
    
        protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged (e);
            if (Control != null) 
            {                
                Control.ImeOptions = ImeAction.Done;
                Control.EditorAction += (sender, args) => {
                    if (args.ActionId == ImeAction.Done) {                  
                        var entry = (CustomEntry)Element;
                        entry.DonePressed();
                    }
                };
            }
    

相关问题