public static class

Keyboard.Key

extends Object
java.lang.Object
   ↳android.inputmethodservice.Keyboard.Key

Class Overview

Class for describing the position and characteristics of a single key in the keyboard.

Summary

XML Attributes
Attribute NameRelated MethodDescription
android:codes The unicode value or comma-separated values that this key outputs. 
android:horizontalGap Default horizontal gap between keys. 
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. 
android:keyEdgeFlags Key edge flags. 
android:keyHeight Default height of a key, in pixels or percentage of display width. 
android:keyIcon The icon to display on the key instead of the label. 
android:keyLabel The label to display on the key. 
android:keyOutputText The string of characters to output when this key is pressed. 
android:keyWidth Default width of a key, in pixels or percentage of display width. 
android:popupCharacters The characters to display in the popup keyboard. 
android:popupKeyboard The XML keyboard layout of any popup keyboard. 
Fields
public int[]codesAll the key codes (unicode or custom code) that this key could generate, zero'th being the most important.
public intedgeFlagsFlags that specify the anchoring to edges of the keyboard for detecting touch events that are just out of the boundary of the key.
public intgapThe horizontal gap before this key
public intheightHeight of the key, not including the gap
public DrawableiconIcon to display instead of a label.
public DrawableiconPreviewPreview version of the icon, for the preview popup
public CharSequencelabelLabel to display
public booleanmodifierWhether this is a modifier key, such as Shift or Alt
public booleanonIf this is a sticky key, is it on?
public CharSequencepopupCharactersPopup characters
public intpopupResIdIf this key pops up a mini keyboard, this is the resource id for the XML layout for that keyboard.
public booleanpressedThe current pressed state of this key
public booleanrepeatableWhether this key repeats itself when held down
public booleanstickyWhether this key is sticky, i.e., a toggle key
public CharSequencetextText to output when pressed.
public intwidthWidth of the key, not including the gap
public intxX coordinate of the key in the keyboard layout
public intyY coordinate of the key in the keyboard layout
Public Constructors
Keyboard.Key(Keyboard.Row parent)
Create an empty key with no attributes.
Keyboard.Key(Resources res, Keyboard.Row parent, int x, int y, XmlResourceParser parser)
Create a key with the given top-left coordinate and extract its attributes from the XML parser.
Public Methods
int[] getCurrentDrawableState()
Returns the drawable state for the key, based on the current state and type of the key.
boolean isInside(int x, int y)
Detects if a point falls inside this key.
void onPressed()
Informs the key that it has been pressed, in case it needs to change its appearance or state.
void onReleased(boolean inside)
Changes the pressed state of the key.
int squaredDistanceFrom(int x, int y)
Returns the square of the distance between the center of the key and the given point.
[Expand]
Inherited Methods
From class java.lang.Object

XML Attributes

android:codes

Since: API Level

The unicode value or comma-separated values that this key outputs.

May be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

May be an integer value, such as "100".

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 codes.

Related Methods

    android:horizontalGap

    Since: API Level

    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.

    Related Methods

      android:iconPreview

      Since: API Level

      The icon to show in the popup preview.

      Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

      This corresponds to the global attribute resource symbol iconPreview.

      Related Methods

        android:isModifier

        Since: API Level

        Whether this is a modifier key such as Alt or Shift.

        Must be a boolean value, either "true" or "false".

        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 isModifier.

        Related Methods

          android:isRepeatable

          Since: API Level

          Whether long-pressing on this key will make it repeat.

          Must be a boolean value, either "true" or "false".

          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 isRepeatable.

          Related Methods

            android:isSticky

            Since: API Level

            Whether this is a toggle key.

            Must be a boolean value, either "true" or "false".

            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 isSticky.

            Related Methods

              android:keyEdgeFlags

              Since: API Level

              Key edge flags.

              Must be one or more (separated by '|') of the following constant values.

              ConstantValueDescription
              left1 Key is anchored to the left of the keyboard.
              right2 Key is anchored to the right of the keyboard.

              This corresponds to the global attribute resource symbol keyEdgeFlags.

              Related Methods

                android:keyHeight

                Since: API Level

                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.

                Related Methods

                  android:keyIcon

                  Since: API Level

                  The icon to display on the key instead of the label.

                  Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

                  This corresponds to the global attribute resource symbol keyIcon.

                  Related Methods

                    android:keyLabel

                    Since: API Level

                    The label to display on the key.

                    Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

                    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 keyLabel.

                    Related Methods

                      android:keyOutputText

                      Since: API Level

                      The string of characters to output when this key is pressed.

                      Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

                      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 keyOutputText.

                      Related Methods

                        android:keyWidth

                        Since: API Level

                        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.

                        Related Methods

                          android:popupCharacters

                          Since: API Level

                          The characters to display in the popup keyboard.

                          Must be a string value, using '\\;' to escape characters such as '\\n' or '\\uxxxx' for a unicode character.

                          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 popupCharacters.

                          Related Methods

                            android:popupKeyboard

                            Since: API Level

                            The XML keyboard layout of any popup keyboard.

                            Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

                            This corresponds to the global attribute resource symbol popupKeyboard.

                            Related Methods

                              Fields

                              public int[] codes

                              Since: API Level 3

                              All the key codes (unicode or custom code) that this key could generate, zero'th being the most important.

                              public int edgeFlags

                              Since: API Level 3

                              Flags that specify the anchoring to edges of the keyboard for detecting touch events that are just out of the boundary of the key. This is a bit mask of EDGE_LEFT, EDGE_RIGHT, EDGE_TOP and EDGE_BOTTOM.

                              public int gap

                              Since: API Level 3

                              The horizontal gap before this key

                              public int height

                              Since: API Level 3

                              Height of the key, not including the gap

                              public Drawable icon

                              Since: API Level 3

                              Icon to display instead of a label. Icon takes precedence over a label

                              public Drawable iconPreview

                              Since: API Level 3

                              Preview version of the icon, for the preview popup

                              public CharSequence label

                              Since: API Level 3

                              Label to display

                              public boolean modifier

                              Since: API Level 3

                              Whether this is a modifier key, such as Shift or Alt

                              public boolean on

                              Since: API Level 3

                              If this is a sticky key, is it on?

                              public CharSequence popupCharacters

                              Since: API Level 3

                              Popup characters

                              public int popupResId

                              Since: API Level 3

                              If this key pops up a mini keyboard, this is the resource id for the XML layout for that keyboard.

                              public boolean pressed

                              Since: API Level 3

                              The current pressed state of this key

                              public boolean repeatable

                              Since: API Level 3

                              Whether this key repeats itself when held down

                              public boolean sticky

                              Since: API Level 3

                              Whether this key is sticky, i.e., a toggle key

                              public CharSequence text

                              Since: API Level 3

                              Text to output when pressed. This can be multiple characters, like ".com"

                              public int width

                              Since: API Level 3

                              Width of the key, not including the gap

                              public int x

                              Since: API Level 3

                              X coordinate of the key in the keyboard layout

                              public int y

                              Since: API Level 3

                              Y coordinate of the key in the keyboard layout

                              Public Constructors

                              public Keyboard.Key (Keyboard.Row parent)

                              Since: API Level 3

                              Create an empty key with no attributes.

                              public Keyboard.Key (Resources res, Keyboard.Row parent, int x, int y, XmlResourceParser parser)

                              Since: API Level 3

                              Create a key with the given top-left coordinate and extract its attributes from the XML parser.

                              Parameters
                              res resources associated with the caller's context
                              parent the row that this key belongs to. The row must already be attached to a Keyboard.
                              x the x coordinate of the top-left
                              y the y coordinate of the top-left
                              parser the XML parser containing the attributes for this key

                              Public Methods

                              public int[] getCurrentDrawableState ()

                              Since: API Level 3

                              Returns the drawable state for the key, based on the current state and type of the key.

                              Returns
                              • the drawable state of the key.
                              See Also

                              public boolean isInside (int x, int y)

                              Since: API Level 3

                              Detects if a point falls inside this key.

                              Parameters
                              x the x-coordinate of the point
                              y the y-coordinate of the point
                              Returns
                              • whether or not the point falls inside the key. If the key is attached to an edge, it will assume that all points between the key and the edge are considered to be inside the key.

                              public void onPressed ()

                              Since: API Level 3

                              Informs the key that it has been pressed, in case it needs to change its appearance or state.

                              public void onReleased (boolean inside)

                              Since: API Level 3

                              Changes the pressed state of the key. If it is a sticky key, it will also change the toggled state of the key if the finger was release inside.

                              Parameters
                              inside whether the finger was released inside the key
                              See Also

                              public int squaredDistanceFrom (int x, int y)

                              Since: API Level 3

                              Returns the square of the distance between the center of the key and the given point.

                              Parameters
                              x the x-coordinate of the point
                              y the y-coordinate of the point
                              Returns
                              • the square of the distance of the point from the center of the key