Skip to content

Most visited

Recently visited

navigation

Keyboard

public class Keyboard
extends Object

java.lang.Object
   ↳ android.inputmethodservice.Keyboard


Loads an XML description of a keyboard and stores the attributes of the keys. A keyboard consists of rows of keys.

The layout file for a keyboard contains XML that looks like the following snippet:

 <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 for describing the position and characteristics of a single key in the keyboard. 

class Keyboard.Row

Container for keys in the keyboard. 

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)

Creates a keyboard from the given xml key layout file.

Keyboard(Context context, int xmlLayoutResId, int modeId, int width, int height)

Creates a keyboard from the given xml key layout file.

Keyboard(Context context, int xmlLayoutResId, int modeId)

Creates a keyboard from the given xml key layout file.

Keyboard(Context context, int layoutTemplateResId, CharSequence characters, int columns, int horizontalPadding)

Creates a blank keyboard from the given resource file and populates it with the specified characters in left-to-right, top-to-bottom fashion, using the specified number of columns.

Public methods

int getHeight()

Returns the total height of the keyboard

List<Keyboard.Key> getKeys()
int getMinWidth()
List<Keyboard.Key> getModifierKeys()
int[] getNearestKeys(int x, int y)

Returns the indices of the keys that are closest to the given point.

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

Default horizontal gap between keys.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol horizontalGap.

android:keyHeight

Default height of a key, in pixels or percentage of display width.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol keyHeight.

android:keyWidth

Default width of a key, in pixels or percentage of display width.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol keyWidth.

android:verticalGap

Default vertical gap between rows of keys.

May be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters).

May be a fractional value, which is a floating point number appended with either % or %p, such as "14.5%". The % suffix always means a percentage of the base size; the optional %p suffix provides a size relative to some parent container.

This may also be a reference to a resource (in the form "@[package:]type:name") or theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol verticalGap.

Constants

EDGE_BOTTOM

Added in API level 3
int EDGE_BOTTOM

Constant Value: 8 (0x00000008)

EDGE_LEFT

Added in API level 3
int EDGE_LEFT

Constant Value: 1 (0x00000001)

EDGE_RIGHT

Added in API level 3
int EDGE_RIGHT

Constant Value: 2 (0x00000002)

EDGE_TOP

Added in API level 3
int EDGE_TOP

Constant Value: 4 (0x00000004)

KEYCODE_ALT

Added in API level 3
int KEYCODE_ALT

Constant Value: -6 (0xfffffffa)

KEYCODE_CANCEL

Added in API level 3
int KEYCODE_CANCEL

Constant Value: -3 (0xfffffffd)

KEYCODE_DELETE

Added in API level 3
int KEYCODE_DELETE

Constant Value: -5 (0xfffffffb)

KEYCODE_DONE

Added in API level 3
int KEYCODE_DONE

Constant Value: -4 (0xfffffffc)

KEYCODE_MODE_CHANGE

Added in API level 3
int KEYCODE_MODE_CHANGE

Constant Value: -2 (0xfffffffe)

KEYCODE_SHIFT

Added in API level 3
int KEYCODE_SHIFT

Constant Value: -1 (0xffffffff)

Public constructors

Keyboard

Added in API level 3
Keyboard (Context context, 
                int xmlLayoutResId)

Creates a keyboard from the given xml key layout file.

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)

Creates a keyboard from the given xml key layout file. Weeds out rows that have a keyboard mode defined but don't match the specified mode.

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)

Creates a keyboard from the given xml key layout file. Weeds out rows that have a keyboard mode defined but don't match the specified mode.

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)

Creates a blank keyboard from the given resource file and populates it with the specified characters in left-to-right, top-to-bottom fashion, using the specified number of columns.

If the specified number of columns is -1, then the keyboard will fit as many keys as possible in each row.

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 the total height of the keyboard

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)

Returns the indices of the keys that are closest to the given point.

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
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.