public class Keyboard
extends Object
java.lang.Object | |
↳ | android.inputmethodservice.Keyboard |
加载键盘的XML描述并存储键的属性。 键盘由多行键组成。
键盘的布局文件包含如下代码片段所示的XML:
<Keyboard android:keyWidth="%10p" android:keyHeight="50px" android:horizontalGap="2px" android:verticalGap="2px" > <Row android:keyWidth="32px" > <Key android:keyLabel="A" /> ... </Row> ... </Keyboard>
Nested classes |
|
---|---|
class |
Keyboard.Key 用于描述键盘中单个按键的位置和特性的类。 |
class |
Keyboard.Row 键盘中的键容器。 |
XML attributes |
|
---|---|
android:horizontalGap |
Default horizontal gap between keys. |
android:keyHeight |
Default height of a key, in pixels or percentage of display width. |
android:keyWidth |
Default width of a key, in pixels or percentage of display width. |
android:verticalGap |
Default vertical gap between rows of keys. |
Constants |
|
---|---|
int |
EDGE_BOTTOM |
int |
EDGE_LEFT |
int |
EDGE_RIGHT |
int |
EDGE_TOP |
int |
KEYCODE_ALT |
int |
KEYCODE_CANCEL |
int |
KEYCODE_DELETE |
int |
KEYCODE_DONE |
int |
KEYCODE_MODE_CHANGE |
int |
KEYCODE_SHIFT |
Public constructors |
|
---|---|
Keyboard(Context context, int xmlLayoutResId) 从给定的xml键布局文件创建一个键盘。 |
|
Keyboard(Context context, int xmlLayoutResId, int modeId, int width, int height) 从给定的xml键布局文件创建一个键盘。 |
|
Keyboard(Context context, int xmlLayoutResId, int modeId) 从给定的xml键布局文件创建一个键盘。 |
|
Keyboard(Context context, int layoutTemplateResId, CharSequence characters, int columns, int horizontalPadding) 使用指定数量的列从给定资源文件创建一个空白键盘,并使用指定字符以从左到右,从上到下的方式填充指定字符。 |
Public methods |
|
---|---|
int |
getHeight() 返回键盘的总高度 |
List<Keyboard.Key> |
getKeys() |
int |
getMinWidth() |
List<Keyboard.Key> |
getModifierKeys() |
int[] |
getNearestKeys(int x, int y) 返回距给定点最近的键的索引。 |
int |
getShiftKeyIndex() |
boolean |
isShifted() |
boolean |
setShifted(boolean shiftState) |
Protected methods |
|
---|---|
Keyboard.Key |
createKeyFromXml(Resources res, Keyboard.Row parent, int x, int y, XmlResourceParser parser) |
Keyboard.Row |
createRowFromXml(Resources res, XmlResourceParser parser) |
int |
getHorizontalGap() |
int |
getKeyHeight() |
int |
getKeyWidth() |
int |
getVerticalGap() |
void |
setHorizontalGap(int gap) |
void |
setKeyHeight(int height) |
void |
setKeyWidth(int width) |
void |
setVerticalGap(int gap) |
Inherited methods |
|
---|---|
From class java.lang.Object
|
键之间的默认水平间隙。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
可能是一个小数值,这是一个浮点数, 14.5%
%或%p,例如“ 14.5%
”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 horizontalGap
。
按键的默认高度,以像素或显示宽度的百分比表示。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
可能是一个小数值,这是一个浮点数,后面跟有%或%p,例如“ 14.5%
”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 keyHeight
。
按键的默认宽度(以像素为单位)或显示宽度的百分比。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
可能是一个小数值,这是一个浮点数,后面跟有%或%p,例如“ 14.5%
”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 keyWidth
。
键行之间的默认垂直间隙。
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
可能是一个小数值,它是一个浮点数,后面跟有%或%p,例如“ 14.5%
”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 verticalGap
。
Keyboard (Context context, int xmlLayoutResId)
从给定的xml键布局文件创建一个键盘。
Parameters | |
---|---|
context |
Context : the application or service context |
xmlLayoutResId |
int : the resource file that contains the keyboard layout and keys. |
Keyboard (Context context, int xmlLayoutResId, int modeId, int width, int height)
从给定的xml键布局文件创建一个键盘。 清除具有已定义的键盘模式但与指定模式不匹配的行。
Parameters | |
---|---|
context |
Context : the application or service context |
xmlLayoutResId |
int : the resource file that contains the keyboard layout and keys. |
modeId |
int : keyboard mode identifier |
width |
int : sets width of keyboard |
height |
int : sets height of keyboard |
Keyboard (Context context, int xmlLayoutResId, int modeId)
从给定的xml键布局文件创建一个键盘。 清除具有已定义的键盘模式但与指定模式不匹配的行。
Parameters | |
---|---|
context |
Context : the application or service context |
xmlLayoutResId |
int : the resource file that contains the keyboard layout and keys. |
modeId |
int : keyboard mode identifier |
Keyboard (Context context, int layoutTemplateResId, CharSequence characters, int columns, int horizontalPadding)
使用指定数量的列从给定资源文件创建一个空白键盘,并使用指定字符以从左到右,从上到下的方式填充指定字符。
如果指定的列数是-1,那么键盘将在每一行中尽可能多地安装键。
Parameters | |
---|---|
context |
Context : the application or service context |
layoutTemplateResId |
int : the layout template file, containing no keys. |
characters |
CharSequence : the list of characters to display on the keyboard. One key will be created for each character. |
columns |
int : the number of columns of keys to display. If this number is greater than the number of keys that can fit in a row, it will be ignored. If this number is -1, the keyboard will fit as many keys as possible in each row. |
horizontalPadding |
int
|
int getHeight ()
返回键盘的总高度
Returns | |
---|---|
int |
the total height of the keyboard |
List<Keyboard.Key> getModifierKeys ()
Returns | |
---|---|
List<Keyboard.Key> |
int[] getNearestKeys (int x, int y)
返回距给定点最近的键的索引。
Parameters | |
---|---|
x |
int : the x-coordinate of the point |
y |
int : the y-coordinate of the point |
Returns | |
---|---|
int[] |
the array of integer indices for the nearest keys to the given point. If the given point is out of range, then an array of size zero is returned. |
boolean setShifted (boolean shiftState)
Parameters | |
---|---|
shiftState |
boolean
|
Returns | |
---|---|
boolean |
Keyboard.Key createKeyFromXml (Resources res, Keyboard.Row parent, int x, int y, XmlResourceParser parser)
Parameters | |
---|---|
res |
Resources
|
parent |
Keyboard.Row
|
x |
int
|
y |
int
|
parser |
XmlResourceParser
|
Returns | |
---|---|
Keyboard.Key |
Keyboard.Row createRowFromXml (Resources res, XmlResourceParser parser)
Parameters | |
---|---|
res |
Resources
|
parser |
XmlResourceParser
|
Returns | |
---|---|
Keyboard.Row |