c# - xamarin.android - OnKeyLongPress 不触发

标签 c# android xamarin mvvm xamarin.forms

我想在音量按钮上使用 OnKeyLongPress,以覆盖系统音量控制。

我正在尝试使用 OnKeyLongPress 事件监听器,但它不起作用。

这是我的代码:

public override bool OnKeyLongPress(Keycode keyCode, KeyEvent e)
{
    if (keyCode == Keycode.VolumeDown)
    {

        return true;
    }

    if (keyCode == Keycode.VolumeUp )
    {

        return true;
    }


    return base.OnKeyLongPress(keyCode, e);
}

最佳答案

你就快到了。您需要在 onKeyPress 处理程序中检测相同的按键事件并开始跟踪它,以便长按可以起作用。这是您需要的代码:

public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
{
    if (keyCode == Keycode.VolumeDown)
    {
        return true;
    }
    if (keyCode == Keycode.VolumeUp )
    {
        return true;
    }
    return base.OnKeyDown(keyCode, e);
}

关于c# - xamarin.android - OnKeyLongPress 不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46298929/

相关文章:

android - 将.so添加到Xamarin android绑定(bind)库

c# - Content-Transfer-Encoding 是 HTML header 吗?

android - 如何在我的发布 aar 中打包多个 AAR

xamarin - MvvmCross 在 Xamarin Studio 中工作吗?

c# - 有什么方法可以在 Xamarin.Forms 中将样式与我的 XAML 分开

Android 在收到消息时在状态栏中停止通知

C#程序崩溃

C# TimeSpan 超过 23 :59:59

c# - 多个左连接的 LINQ 方法语法

java - 如何在 GridView 的 OnSwipeListener 之上实现 onClickListener?