我正在做一个实验,它需要一个键盘同时显示大写和小写字母 (按下shift后不显示大写)。现在,我使用SDK中的示例项目设法显示像普通键盘这样的小写字母。该项目使用xml
中的代码标签映射来定义键盘的布局,如下所示:
<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>
这些都是小写字母。问题是如何显示大写的。是否有大写的code-keyLabel值,或者是否有其他方法在键盘中包含大写字母?
答案 0 :(得分:2)
结果是一个字母的大写和小写的代码是相同的。当用户按下软键盘中的字母键时,输出将取决于键盘视图的移位状态,可以使用KeyboardView.setShifted(boolean)
进行更改。
另一件事是视图中的键应该具有相同的移位状态,因此不可能同时在一个视图中显示相同字母的大写和小写。但它可以在两个不同的视图中完成,其中一组为移位而另一组未移位。