使用 unicode 自定义 Android 键盘

问题描述 投票:0回答:2

我正在为 Android 应用程序创建不丹语键盘。我正在使用unicode。但是,当我尝试运行应用程序时,我收到错误消息,提示“解析键码时出错”,并且按下这些字母时不会显示这些字母。

这是键盘 xml 文件的示例:

<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyWidth="10%p"
    android:horizontalGap="0px"
    android:verticalGap="0px"
    android:keyHeight="60dp">
     <Row>
        <Key android:codes="U+0F09" android:keyLabel="༉" android:keyEdgeFlags="left"/>
        <Key android:codes="U+0F21" android:keyLabel="༡"/>
        <Key android:codes="U+0F22" android:keyLabel="༢"/>
        <Key android:codes="U+0F23" android:keyLabel="༣"/>
        <Key android:codes="U+0F24" android:keyLabel="༤"/>
        <Key android:codes="U+0F25" android:keyLabel="༥"/>
        <Key android:codes="U+0F26" android:keyLabel="༦"/>
        <Key android:codes="U+0F27" android:keyLabel="༧"/>
        <Key android:codes="U+0F28" android:keyLabel="༨"/>
        <Key android:codes="U+0F29" android:keyLabel="༩"/>
        <Key android:codes="U+0F20" android:keyLabel="༠"/>
        <Key android:codes="U+0F14" android:keyLabel="༔"/>
        <Key android:codes="U+0F0D" android:keyLabel="།"/>
        <Key android:codes="U+0F5D" android:keyLabel="ཝ" android:keyEdgeFlags="right"/>
    </Row>

我的键盘在英文键盘时可以工作,就像这样:

 <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
    <Key android:codes="119" android:keyLabel="w"/>
    <Key android:codes="101" android:keyLabel="e"/>
    <Key android:codes="114" android:keyLabel="r"/>
    <Key android:codes="116" android:keyLabel="t"/>
    <Key android:codes="121" android:keyLabel="y"/>
    <Key android:codes="117" android:keyLabel="u"/>
    <Key android:codes="105" android:keyLabel="i"/>
    <Key android:codes="111" android:keyLabel="o"/>
    <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
</Row>

我不应该为自定义 Android 键盘使用 unicode 吗?或者如果可以的话,我该怎么做才能让它发挥作用?

android xml unicode keyboard keycode
2个回答
1
投票

要修复解析错误,您可以:

  1. 将“U+0F09”替换为 Unicode 的十进制 (3849) 值。
  2. 保留 Android 代码。代码应该是自动生成的 在 keyLabel 中的字符上。我用英语测试过这个 西班牙字符。

0
投票

修复解析错误:

  • 将“U+0F09”替换为0x...格式,就像“0xF09”

您可以使用此网站进行转换: https://r12a.github.io/app-conversion/

© www.soinside.com 2019 - 2024. All rights reserved.