2

私は実験を行っています。キーボードで大文字と小文字の両方を同時に表示する必要があります 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>

これらはすべて小文字用です。問題は、大文字をどのように表示するかです。大文字のcodes-keyLabel値はありますか、それともキーボードに大文字を含める他の方法はありますか?

4

1 に答える 1

3

文字の大文字と小文字の両方のコードが同じであることがわかります。ユーザーがソフトキーボードで文字キーを押すと、出力はキーボードビューのシフト状態に依存します。これは、を使用して変更できますKeyboardView.setShifted(boolean)

もう1つは、ビューのキーは同じシフト状態である必要があるため、1つのビューで同じ文字の大文字と小文字を同時に表示することはできません。ただし、1つはシフトされたものとして、もう1つはシフトされていないものとして、2つの異なるビューで実行できます。

于 2012-12-20T01:44:46.890 に答える