Most visited

Recently visited

Added in API level 3

Keyboard

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>
 

Summary

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

XML attributes

android:horizontalGap

键之间的默认水平间隙。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

可能是一个小数值,这是一个浮点数, 14.5% %或%p,例如“ 14.5% ”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 horizontalGap

android:keyHeight

按键的默认高度,以像素或显示宽度的百分比表示。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

可能是一个小数值,这是一个浮点数,后面跟有%或%p,例如“ 14.5% ”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 keyHeight

android:keyWidth

按键的默认宽度(以像素为单位)或显示宽度的百分比。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

可能是一个小数值,这是一个浮点数,后面跟有%或%p,例如“ 14.5% ”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 keyWidth

android:verticalGap

键行之间的默认垂直间隙。

可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

可能是一个小数值,它是一个浮点数,后面跟有%或%p,例如“ 14.5% ”。 %后缀始终表示基本大小的百分比; 可选的%p后缀提供了相对于某个父容器的大小。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 verticalGap

Constants

EDGE_BOTTOM

Added in API level 3
int EDGE_BOTTOM

常量值:8(0x00000008)

EDGE_LEFT

Added in API level 3
int EDGE_LEFT

常数值:1(0x00000001)

EDGE_RIGHT

Added in API level 3
int EDGE_RIGHT

常量值:2(0x00000002)

EDGE_TOP

Added in API level 3
int EDGE_TOP

常量值:4(0x00000004)

KEYCODE_ALT

Added in API level 3
int KEYCODE_ALT

常量值:-6(0xfffffffa)

KEYCODE_CANCEL

Added in API level 3
int KEYCODE_CANCEL

常量值:-3(0xfffffffd)

KEYCODE_DELETE

Added in API level 3
int KEYCODE_DELETE

常量值:-5(0xfffffffb)

KEYCODE_DONE

Added in API level 3
int KEYCODE_DONE

常量值:-4(0xfffffffc)

KEYCODE_MODE_CHANGE

Added in API level 3
int KEYCODE_MODE_CHANGE

常量值:-2(0xfffffffe)

KEYCODE_SHIFT

Added in API level 3
int KEYCODE_SHIFT

常量值:-1(0xffffffff)

Public constructors

Keyboard

Added in API level 3
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

Added in API level 11
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

Added in API level 3
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

Added in API level 3
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

Public methods

getHeight

Added in API level 3
int getHeight ()

返回键盘的总高度

Returns
int the total height of the keyboard

getKeys

Added in API level 3
List<Keyboard.Key> getKeys ()

Returns
List<Keyboard.Key>

getMinWidth

Added in API level 3
int getMinWidth ()

Returns
int

getModifierKeys

Added in API level 3
List<Keyboard.Key> getModifierKeys ()

Returns
List<Keyboard.Key>

getNearestKeys

Added in API level 3
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.

getShiftKeyIndex

Added in API level 3
int getShiftKeyIndex ()

Returns
int

isShifted

Added in API level 3
boolean isShifted ()

Returns
boolean

setShifted

Added in API level 3
boolean setShifted (boolean shiftState)

Parameters
shiftState boolean
Returns
boolean

Protected methods

createKeyFromXml

Added in API level 3
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

createRowFromXml

Added in API level 3
Keyboard.Row createRowFromXml (Resources res, 
                XmlResourceParser parser)

Parameters
res Resources
parser XmlResourceParser
Returns
Keyboard.Row

getHorizontalGap

Added in API level 3
int getHorizontalGap ()

Returns
int

getKeyHeight

Added in API level 3
int getKeyHeight ()

Returns
int

getKeyWidth

Added in API level 3
int getKeyWidth ()

Returns
int

getVerticalGap

Added in API level 3
int getVerticalGap ()

Returns
int

setHorizontalGap

Added in API level 3
void setHorizontalGap (int gap)

Parameters
gap int

setKeyHeight

Added in API level 3
void setKeyHeight (int height)

Parameters
height int

setKeyWidth

Added in API level 3
void setKeyWidth (int width)

Parameters
width int

setVerticalGap

Added in API level 3
void setVerticalGap (int gap)

Parameters
gap int

Hooray!