6b38a5fd4c
This change introduces the following features to Keyboard XML format. * "keyXPos" can specify the key X coordinate directly. * "keyXPos" can be negative. The X coordinate will be calcluated from the right edge of the keyboard toward left. * "keyWidth" can be zero to be filled up to the right side. * "keyWidth can be negative. The key will be filled up to both sides. * Spacer's horizontalGap is renamed as keyWidth, and can be inherited from key-style. * Spacer can have keyXPos attribute. Using these syntax, all keyboard layouts have been re-written. Bug: 4442045 Change-Id: I314b2e8ca2aa145ff9506cbf927140a15685af42
203 lines
9.2 KiB
XML
203 lines
9.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2010 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<resources>
|
|
|
|
<declare-styleable name="KeyboardView">
|
|
<!-- Default KeyboardView style. -->
|
|
<attr name="keyboardViewStyle" format="reference" />
|
|
|
|
<!-- Image for the key. This image needs to be a StateListDrawable, with the following
|
|
possible states: normal, pressed, checkable, checkable+pressed, checkable+checked,
|
|
checkable+checked+pressed. -->
|
|
<attr name="keyBackground" format="reference" />
|
|
|
|
<!-- Size of the text for one letter character keys. -->
|
|
<attr name="keyLetterSize" format="dimension" />
|
|
|
|
<!-- Size of the text for custom keys with some text and no icon. -->
|
|
<attr name="labelTextSize" format="dimension" />
|
|
|
|
<!-- Color to use for the label in a key. -->
|
|
<attr name="keyTextColor" format="color" />
|
|
|
|
<!-- Color to use for the label in a key when in disabled state. -->
|
|
<attr name="keyTextColorDisabled" format="color" />
|
|
|
|
<!-- Layout resource for key press feedback.-->
|
|
<attr name="keyPreviewLayout" format="reference" />
|
|
|
|
<!-- Vertical offset of the key press feedback from the key. -->
|
|
<attr name="keyPreviewOffset" format="dimension" />
|
|
|
|
<!-- Height of the key press feedback popup. -->
|
|
<attr name="keyPreviewHeight" format="dimension" />
|
|
|
|
<!-- Hysteresis distance for key debouncing -->
|
|
<attr name="keyHysteresisDistance" format="dimension" />
|
|
|
|
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
|
|
<attr name="verticalCorrection" format="dimension" />
|
|
|
|
<!-- Layout resource for popup keyboards. -->
|
|
<attr name="popupLayout" format="reference" />
|
|
|
|
<attr name="shadowColor" format="color" />
|
|
<attr name="shadowRadius" format="float" />
|
|
<attr name="backgroundDimAmount" format="float" />
|
|
|
|
<attr name="keyLetterStyle">
|
|
<!-- This should be aligned with Typeface.NORMAL etc. -->
|
|
<enum name="normal" value="0" />
|
|
<enum name="bold" value="1" />
|
|
<enum name="italic" value="2" />
|
|
<enum name="boldItalic" value="3" />
|
|
</attr>
|
|
|
|
<attr name="colorScheme">
|
|
<!-- This should be aligned with KeyboardView.COLOR_SCHEME_* -->
|
|
<enum name="white" value="0" />
|
|
<enum name="black" value="1" />
|
|
</attr>
|
|
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard">
|
|
<!-- Default keyboard height -->
|
|
<attr name="keyboardHeight" format="dimension" />
|
|
<!-- Maximum keyboard height, in pixels or percentage of display height -->
|
|
<attr name="maxKeyboardHeight" format="dimension|fraction" />
|
|
<!-- Default width of a key, in pixels or percentage of display width. -->
|
|
<attr name="keyWidth" format="dimension|fraction" />
|
|
<!-- Default height of a row (key height + vertical gap), in pixels or percentage of
|
|
keyboard height.
|
|
If the value is zero, the actual key width will be determined to fill out the area up
|
|
to the right edge of the keyboard.
|
|
If the value is negative, the actual key width will be determined to fill out the
|
|
area between the nearest key on the left hand side and the right edge of the keyboard.
|
|
-->
|
|
<attr name="rowHeight" format="dimension|fraction" />
|
|
<!-- Default horizontal gap between keys. -->
|
|
<attr name="horizontalGap" format="dimension|fraction" />
|
|
<!-- Default vertical gap between rows of keys. -->
|
|
<attr name="verticalGap" format="dimension|fraction" />
|
|
<!-- Popup keyboard layout template -->
|
|
<attr name="popupKeyboardTemplate" format="reference" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Key">
|
|
<!-- The unicode value that this key outputs. -->
|
|
<attr name="code" format="integer" />
|
|
<!-- The characters to display in the popup keyboard. -->
|
|
<attr name="popupCharacters" format="string" />
|
|
<!-- Maximum column of popup keyboard -->
|
|
<attr name="maxPopupKeyboardColumn" format="integer" />
|
|
<!-- Key edge flags. -->
|
|
<attr name="keyEdgeFlags">
|
|
<!-- Key is anchored to the left of the keyboard. -->
|
|
<flag name="left" value="1" />
|
|
<!-- Key is anchored to the right of the keyboard. -->
|
|
<flag name="right" value="2" />
|
|
</attr>
|
|
<!-- Whether this is a modifier key such as Alt or Shift. -->
|
|
<attr name="isModifier" format="boolean" />
|
|
<!-- Whether this is a toggle key. -->
|
|
<attr name="isSticky" format="boolean" />
|
|
<!-- Whether long-pressing on this key will make it repeat. -->
|
|
<attr name="isRepeatable" format="boolean" />
|
|
<!-- The icon to show in the popup preview. -->
|
|
<attr name="iconPreview" format="reference" />
|
|
<!-- The string of characters to output when this key is pressed. -->
|
|
<attr name="keyOutputText" format="string" />
|
|
<!-- The label to display on the key. -->
|
|
<attr name="keyLabel" format="string" />
|
|
<!-- The key label option -->
|
|
<attr name="keyLabelOption">
|
|
<!-- This should be aligned with KeyboardView.KEY_LABEL_OPTION_* -->
|
|
<flag name="alignLeft" value="1" />
|
|
<flag name="alignRight" value="2" />
|
|
<flag name="alignBottom" value="8" />
|
|
<flag name="fontNormal" value="16" />
|
|
</attr>
|
|
<!-- The unicode that this key generates in manual temporary upper case mode. -->
|
|
<attr name="manualTemporaryUpperCaseCode" format="integer" />
|
|
<!-- The icon to display on the key instead of the label. -->
|
|
<attr name="keyIcon" format="reference" />
|
|
<!-- The hint icon to display on the key in conjunction with the label -->
|
|
<attr name="keyHintIcon" format="reference" />
|
|
<!-- The hint icon to display on the key when keyboard is in manual temporary upper case
|
|
mode. -->
|
|
<attr name="manualTemporaryUpperCaseHintIcon" format="reference" />
|
|
<!-- The key style to specify a set of key attributes defined by <key_style/> -->
|
|
<attr name="keyStyle" format="string" />
|
|
<!-- Shift key icon for shifted state -->
|
|
<attr name="shiftedIcon" format="reference" />
|
|
<!-- The key is enabled and responds on press. -->
|
|
<attr name="enabled" format="boolean" />
|
|
<!-- The X-coordinate of upper right corner of this key including horizontal gap.
|
|
If the value is negative, the origin is the right edge of the keyboard. -->
|
|
<attr name="keyXPos" format="dimension|fraction" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Row">
|
|
<!-- Row edge flags. -->
|
|
<attr name="rowEdgeFlags">
|
|
<!-- Row is anchored to the top of the keyboard. -->
|
|
<flag name="top" value="4" />
|
|
<!-- Row is anchored to the bottom of the keyboard. -->
|
|
<flag name="bottom" value="8" />
|
|
</attr>
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Include">
|
|
<attr name="keyboardLayout" format="reference" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Case">
|
|
<!-- This should be aligned with KeyboardId.MODE_* -->
|
|
<attr name="mode">
|
|
<enum name="text" value="0" />
|
|
<enum name="url" value="1" />
|
|
<enum name="email" value="2" />
|
|
<enum name="im" value="3" />
|
|
<enum name="phone" value="4" />
|
|
<enum name="number" value="5" />
|
|
</attr>
|
|
<attr name="webInput" format="boolean" />
|
|
<attr name="passwordInput" format="boolean" />
|
|
<attr name="hasSettingsKey" format="string" />
|
|
<attr name="voiceKeyEnabled" format="string" />
|
|
<attr name="hasVoiceKey" format="string" />
|
|
<attr name="imeAction">
|
|
<!-- This should be aligned with EditorInfo.IME_ACTION_* -->
|
|
<flag name="actionUnspecified" value="0" />
|
|
<flag name="actionNone" value="1" />
|
|
<flag name="actionGo" value="2" />
|
|
<flag name="actionSearch" value="3" />
|
|
<flag name="actionSend" value="4" />
|
|
<flag name="actionNext" value="5" />
|
|
<flag name="actionDone" value="6" />
|
|
<flag name="actionPrevious" value="7" />
|
|
</attr>
|
|
<attr name="languageCode" format="string" />
|
|
<attr name="countryCode" format="string" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_KeyStyle">
|
|
<attr name="styleName" format="string" />
|
|
<attr name="parentStyle" format="string" />
|
|
</declare-styleable>
|
|
</resources>
|