Keyboard

Keyboardで、キーボードのキー配置を定義できます。

レイアウト ファイルの定義

キーの配置はXMLで定義します。そしてこれをリソースとしてres/xml/ディレクトリに配置します。

定義例

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
    android:keyWidth="10%p"
    android:keyHeight="50px"
    android:horizontalGap="2px"
    android:verticalGap="2px"
    >
    <Row android:keyWidth="32px">
        <Key android:keyLabel="A" />
    </Row>
</Keyboard>
  • Keyboard.Rowクラス … キーボードのキー (Keyクラス) のコンテナ
  • Keyboard.Keyクラス … キーボードのひとつのキーの定義

<Keyboard>要素

XML属性
分類 XML属性 説明
サイズ android:keyWidth Default width of a key, in pixels or percentage of display width.
android:keyHeight Default height of a key, in pixels or percentage of display width.
ギャップ android:horizontalGap キー間の水平方向のギャップの既定値
android:verticalGap キー間の垂直方向のギャップの既定値
属性値の単位
分類 単位 説明
寸法 px pixels
dp density independent pixels
sp scaled pixels based based on preferred font size
in inches
mm millimeters
割合 % 基本サイズに対する割合
%p 親コンテナに対する割合
Dimensionリソース

<Row>要素

分類 XML属性 説明
  android:keyboardMode Mode of the keyboard.
  android:rowEdgeFlags 行の配置フラグ
定数 説明
top 4 キーボードの上部に固定
buttom 8 キーボードの下部に固定
サイズ android:keyWidth Default width of a key, in pixels or percentage of display width.
android:keyHeight Default height of a key, in pixels or percentage of display width.
ギャップ android:horizontalGap Default horizontal gap between keys.
android:verticalGap Default vertical gap between rows of keys.

<Key>要素

分類 XML属性 説明
  android:codes キーが押下されたときに出力されるUnicode値。複数の値を出力するにはカンマで区切る
  android:keyLabel キーに表示されるラベル
  android:keyIcon The icon to display on the key instead of the label.
  android:keyOutputText The string of characters to output when this key is pressed.
  android:keyEdgeFlags キーの配置フラグ
定数 説明
left 1 キーボードの左側に固定
right 2 キーボードの右側に固定
サイズ android:keyWidth Default width of a key, in pixels or percentage of display width.
android:keyHeight Default height of a key, in pixels or percentage of display width.
ギャップ android:horizontalGap Default horizontal gap between keys.
ポップアップ android:popupCharacters The characters to display in the popup keyboard.
android:popupKeyboard The XML keyboard layout of any popup keyboard.
android:iconPreview The icon to show in the popup preview.
  android:isModifier Whether this is a modifier key such as Alt or Shift.
  android:isRepeatable Whether long-pressing on this key will make it repeat.
  android:isSticky Whether this is a toggle key.

レイアウト ファイルの読み込み

Keyboardクラスのコンストラクタで、レイアウト ファイルを指定することで読み込みます。

public Keyboard (Context context, int xmlLayoutResId)

たとえばキーボードのレイアウト ファイルをfoo.xmlという名前で作成し、これをres/xml/foo.xmlと配置したならば、

Keyboard keyboard = new Keyboard(this, R.xml.foo);

として読み込めます。

Androidの情報サイトから、まとめて検索