0

I am trying to capture a long-key press in my application. I tried event tracking but does not seem working. Here is my code block:

public override bool OnKeyLongPress([GeneratedEnum] Android.Views.Keycode keyCode, KeyEvent e)
{

    if (e.KeyCode == Android.Views.Keycode.Num7)
    {
        return true;
    }
    return base.OnKeyLongPress(keyCode, e);
}

public override bool OnKeyUp([GeneratedEnum] Android.Views.Keycode keyCode, KeyEvent e)
{

    if (e.KeyCode == Android.Views.Keycode.Num7)
    {
        if (e.IsTracking && e.IsLongPress)
        {

        }

        return true;
     }
     return base.OnKeyUp(keyCode, e);
}

public override bool OnKeyDown([GeneratedEnum] Android.Views.Keycode keyCode, KeyEvent e)
{

    if (e.KeyCode == Android.Views.Keycode.Num7)
    {
        if (e.IsTracking && e.IsLongPress)
        {

        }

        return true;
     }
     return base.OnKeyUp(keyCode, e);
}

I do not receive IsLongpress as true at all even if I hold the key for more than 3 secs

B25Dec
  • 2,301
  • 5
  • 31
  • 54
  • Did you try this? https://stackoverflow.com/a/43572426/4550227 – Ganesan VG Feb 28 '20 at 06:21
  • I thought this solution is applicable for softkey press. My use case is the hard key press. Thanks – Nandini Nadig Feb 28 '20 at 17:39
  • @NandiniNadig You mean that you want to monitor there are long press key for keyboard? In Xamarin.forms, I think you just can do this:https://alexdunn.org/2017/12/27/xamarin-tip-xamarin-forms-long-press-effect/ – Cherry Bu - MSFT Mar 05 '20 at 06:44

0 Answers0