Xamarin Forms Android关键事件处理页面

本文关键字:事件处理 Forms Android Xamarin | 更新日期: 2023-09-27 18:06:09

目前我正在为Android开发PCL Xamarin Forms。我现在正在处理一个通过Text_Changed事件捕获扫描数据的条目。我想知道是否有可能处理这个扫描数据的内容页上的事件。我缺少Xamarin中的KeyPress之类的东西。有人有解决办法吗?

Xamarin Forms Android关键事件处理页面

您可以使用CustomEntry

在Forms中添加一个新类:

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();
                }
            };
        }