在Xamarin.Android中将Keycode转换为char

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Xamarin.Android中将Keycode转换为char相关的知识,希望对你有一定的参考价值。

在我的自定义视图中按下某个键时,会调用OnKeyPress:

public DrawView(Context context, IAttributeSet attributeSet) : base(context, attributeSet)
{
        KeyPress += OnKeyPress;
}

private void OnKeyPress(object sender, KeyEventArgs e)
{
        Keycode code = e.KeyCode;
        // How to convert to char?
}

如何将Keycode转换为char?例如:

"Space" -> " "
"Enter" -> "
"
"A"     -> "A"
答案

尝试这样的事情:

public override bool OnKeyUp (Keycode keyCode, KeyEvent e)
{
    char keyPressed = (char) e.GetUnicodeChar();
    Log.Debug (string.Format ("On KeyUp is:{0}", keyPressed));
    return base.OnKeyUp (keyCode, e);
}
另一答案

根据Vaikesh的回答,这是解决方案:

private void OnKeyPress(object sender, KeyEventArgs e)
{
    char c = Convert.ToChar(e.UnicodeChar);
}

以上是关于在Xamarin.Android中将Keycode转换为char的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Android 无法在 Android 10 (Q) 中将录制的自定义声音用于推送通知

如何在xamarin android中将位图图像转换为gif?

无法在 Xamarin Android 中将图像从资源设置为自定义 ImageView?

在 Xamarin.Android 中将 Json 对象项中的错误值保存和检索到 IShared 首选项(始终返回注销值)

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

抽屉布局在 Xamarin.Android.Support.Core.UI 和 Xamarin.Android.Support.V4 中都存在