TypedValue
public
class
TypedValue
extends Object
java.lang.Object  
↳  android.util.TypedValue 
Container for a dynamically typed data value. Primarily used with
Resources
for holding resource values.
Summary
Constants  

int 
COMPLEX_MANTISSA_MASK
Complex data: mask to extract mantissa information (after shifting by

int 
COMPLEX_MANTISSA_SHIFT
Complex data: bit location of mantissa information. 
int 
COMPLEX_RADIX_0p23
Complex data: the mantissa magnitude is 0 bits  i.e, 0x0.nnnnnn 
int 
COMPLEX_RADIX_16p7
Complex data: the mantissa magnitude is 16 bits  i.e, 0xnnnn.nn 
int 
COMPLEX_RADIX_23p0
Complex data: the mantissa is an integral number  i.e., 0xnnnnnn.0 
int 
COMPLEX_RADIX_8p15
Complex data: the mantissa magnitude is 8 bits  i.e, 0xnn.nnnn 
int 
COMPLEX_RADIX_MASK
Complex data: mask to extract radix information (after shifting by

int 
COMPLEX_RADIX_SHIFT
Complex data: where the radix information is, telling where the decimal place appears in the mantissa. 
int 
COMPLEX_UNIT_DIP

int 
COMPLEX_UNIT_FRACTION

int 
COMPLEX_UNIT_FRACTION_PARENT

int 
COMPLEX_UNIT_IN

int 
COMPLEX_UNIT_MASK
Complex data: mask to extract unit information (after shifting by

int 
COMPLEX_UNIT_MM

int 
COMPLEX_UNIT_PT

int 
COMPLEX_UNIT_PX

int 
COMPLEX_UNIT_SHIFT
Complex data: bit location of unit information. 
int 
COMPLEX_UNIT_SP

int 
DATA_NULL_EMPTY

int 
DATA_NULL_UNDEFINED

int 
DENSITY_DEFAULT
If 
int 
DENSITY_NONE
If 
int 
TYPE_ATTRIBUTE
The data field holds an attribute resource identifier (referencing an attribute in the current theme style, not a resource entry). 
int 
TYPE_DIMENSION
The data field holds a complex number encoding a dimension value. 
int 
TYPE_FIRST_COLOR_INT
Identifies the start of integer values that were specified as color constants (starting with '#'). 
int 
TYPE_FIRST_INT
Identifies the start of plain integer values. 
int 
TYPE_FLOAT
The data field holds an IEEE 754 floating point number. 
int 
TYPE_FRACTION
The data field holds a complex number encoding a fraction of a container. 
int 
TYPE_INT_BOOLEAN
The data field holds 0 or 1 that was originally specified as "false" or "true". 
int 
TYPE_INT_COLOR_ARGB4
The data field holds a color that was originally specified as #argb. 
int 
TYPE_INT_COLOR_ARGB8
The data field holds a color that was originally specified as #aarrggbb. 
int 
TYPE_INT_COLOR_RGB4
The data field holds a color that was originally specified as #rgb. 
int 
TYPE_INT_COLOR_RGB8
The data field holds a color that was originally specified as #rrggbb. 
int 
TYPE_INT_DEC
The data field holds a number that was originally specified in decimal. 
int 
TYPE_INT_HEX
The data field holds a number that was originally specified in hexadecimal (0xn). 
int 
TYPE_LAST_COLOR_INT
Identifies the end of integer values that were specified as color constants. 
int 
TYPE_LAST_INT
Identifies the end of plain integer values. 
int 
TYPE_NULL
The value contains no data. 
int 
TYPE_REFERENCE
The data field holds a resource identifier. 
int 
TYPE_STRING
The string field holds string data. 
Fields  

public
int 
assetCookie
Additional information about where the value came from; only set for strings. 
public
int 
changingConfigurations
If the value came from a resource, these are the configurations for which its contents can change. 
public
int 
data
Basic data in the value, interpreted according to 
public
int 
density
If the Value came from a resource, this holds the corresponding pixel density. 
public
int 
resourceId
If Value came from a resource, this holds the corresponding resource id. 
public
CharSequence 
string
If the value holds a string, this is it. 
public
int 
type
The type held by this value, as defined by the constants here. 
Public constructors  

TypedValue()

Public methods  

static
float

applyDimension(int unit, float value, DisplayMetrics metrics)
Converts an unpacked complex data value holding a dimension to its final floating point value. 
static
final
String

coerceToString(int type, int data)
Perform type conversion as per 
final
CharSequence

coerceToString()
Regardless of the actual type of the value, try to convert it to a string value. 
static
float

complexToDimension(int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final floating point value. 
static
int

complexToDimensionPixelOffset(int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final value as an integer pixel offset. 
static
int

complexToDimensionPixelSize(int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final value as an integer pixel size. 
static
float

complexToFloat(int complex)
Retrieve the base value from a complex data integer. 
static
float

complexToFraction(int data, float base, float pbase)
Converts a complex data value holding a fraction to its final floating point value. 
int

getComplexUnit()
Return the complex unit type for this value. 
float

getDimension(DisplayMetrics metrics)
Return the data for this value as a dimension. 
final
float

getFloat()
Return the data for this value as a float. 
float

getFraction(float base, float pbase)
Return the data for this value as a fraction. 
void

setTo(TypedValue other)

String

toString()
Returns a string representation of the object. 
Inherited methods  

Constants
COMPLEX_MANTISSA_MASK
int COMPLEX_MANTISSA_MASK
Complex data: mask to extract mantissa information (after shifting by
COMPLEX_MANTISSA_SHIFT
). This gives us 23 bits of precision;
the top bit is the sign.
Constant Value: 16777215 (0x00ffffff)
COMPLEX_MANTISSA_SHIFT
int COMPLEX_MANTISSA_SHIFT
Complex data: bit location of mantissa information.
Constant Value: 8 (0x00000008)
COMPLEX_RADIX_0p23
int COMPLEX_RADIX_0p23
Complex data: the mantissa magnitude is 0 bits  i.e, 0x0.nnnnnn
Constant Value: 3 (0x00000003)
COMPLEX_RADIX_16p7
int COMPLEX_RADIX_16p7
Complex data: the mantissa magnitude is 16 bits  i.e, 0xnnnn.nn
Constant Value: 1 (0x00000001)
COMPLEX_RADIX_23p0
int COMPLEX_RADIX_23p0
Complex data: the mantissa is an integral number  i.e., 0xnnnnnn.0
Constant Value: 0 (0x00000000)
COMPLEX_RADIX_8p15
int COMPLEX_RADIX_8p15
Complex data: the mantissa magnitude is 8 bits  i.e, 0xnn.nnnn
Constant Value: 2 (0x00000002)
COMPLEX_RADIX_MASK
int COMPLEX_RADIX_MASK
Complex data: mask to extract radix information (after shifting by
COMPLEX_RADIX_SHIFT
). This give us 4 possible fixed point
representations as defined below.
Constant Value: 3 (0x00000003)
COMPLEX_RADIX_SHIFT
int COMPLEX_RADIX_SHIFT
Complex data: where the radix information is, telling where the decimal place appears in the mantissa.
Constant Value: 4 (0x00000004)
COMPLEX_UNIT_DIP
int COMPLEX_UNIT_DIP
TYPE_DIMENSION
complex unit: Value is Device Independent
Pixels.
Constant Value: 1 (0x00000001)
COMPLEX_UNIT_FRACTION
int COMPLEX_UNIT_FRACTION
TYPE_FRACTION
complex unit: A basic fraction of the overall
size.
Constant Value: 0 (0x00000000)
COMPLEX_UNIT_FRACTION_PARENT
int COMPLEX_UNIT_FRACTION_PARENT
TYPE_FRACTION
complex unit: A fraction of the parent size.
Constant Value: 1 (0x00000001)
COMPLEX_UNIT_IN
int COMPLEX_UNIT_IN
TYPE_DIMENSION
complex unit: Value is in inches.
Constant Value: 4 (0x00000004)
COMPLEX_UNIT_MASK
int COMPLEX_UNIT_MASK
Complex data: mask to extract unit information (after shifting by
COMPLEX_UNIT_SHIFT
). This gives us 16 possible types, as
defined below.
Constant Value: 15 (0x0000000f)
COMPLEX_UNIT_MM
int COMPLEX_UNIT_MM
TYPE_DIMENSION
complex unit: Value is in millimeters.
Constant Value: 5 (0x00000005)
COMPLEX_UNIT_PT
int COMPLEX_UNIT_PT
TYPE_DIMENSION
complex unit: Value is in points.
Constant Value: 3 (0x00000003)
COMPLEX_UNIT_PX
int COMPLEX_UNIT_PX
TYPE_DIMENSION
complex unit: Value is raw pixels.
Constant Value: 0 (0x00000000)
COMPLEX_UNIT_SHIFT
int COMPLEX_UNIT_SHIFT
Complex data: bit location of unit information.
Constant Value: 0 (0x00000000)
COMPLEX_UNIT_SP
int COMPLEX_UNIT_SP
TYPE_DIMENSION
complex unit: Value is a scaled pixel.
Constant Value: 2 (0x00000002)
DATA_NULL_EMPTY
int DATA_NULL_EMPTY
TYPE_NULL
data indicating the value was explicitly set to null.
Constant Value: 1 (0x00000001)
DATA_NULL_UNDEFINED
int DATA_NULL_UNDEFINED
TYPE_NULL
data indicating the value was not specified.
Constant Value: 0 (0x00000000)
DENSITY_DEFAULT
int DENSITY_DEFAULT
If density
is equal to this value, then the density should be
treated as the system's default density value: DENSITY_DEFAULT
.
Constant Value: 0 (0x00000000)
DENSITY_NONE
int DENSITY_NONE
If density
is equal to this value, then there is no density
associated with the resource and it should not be scaled.
Constant Value: 65535 (0x0000ffff)
TYPE_ATTRIBUTE
int TYPE_ATTRIBUTE
The data field holds an attribute resource identifier (referencing an attribute in the current theme style, not a resource entry).
Constant Value: 2 (0x00000002)
TYPE_DIMENSION
int TYPE_DIMENSION
The data field holds a complex number encoding a dimension value.
Constant Value: 5 (0x00000005)
TYPE_FIRST_COLOR_INT
int TYPE_FIRST_COLOR_INT
Identifies the start of integer values that were specified as color constants (starting with '#').
Constant Value: 28 (0x0000001c)
TYPE_FIRST_INT
int TYPE_FIRST_INT
Identifies the start of plain integer values. Any type value
from this to TYPE_LAST_INT
means the
data field holds a generic integer value.
Constant Value: 16 (0x00000010)
TYPE_FLOAT
int TYPE_FLOAT
The data field holds an IEEE 754 floating point number.
Constant Value: 4 (0x00000004)
TYPE_FRACTION
int TYPE_FRACTION
The data field holds a complex number encoding a fraction of a container.
Constant Value: 6 (0x00000006)
TYPE_INT_BOOLEAN
int TYPE_INT_BOOLEAN
The data field holds 0 or 1 that was originally specified as "false" or "true".
Constant Value: 18 (0x00000012)
TYPE_INT_COLOR_ARGB4
int TYPE_INT_COLOR_ARGB4
The data field holds a color that was originally specified as #argb.
Constant Value: 30 (0x0000001e)
TYPE_INT_COLOR_ARGB8
int TYPE_INT_COLOR_ARGB8
The data field holds a color that was originally specified as #aarrggbb.
Constant Value: 28 (0x0000001c)
TYPE_INT_COLOR_RGB4
int TYPE_INT_COLOR_RGB4
The data field holds a color that was originally specified as #rgb.
Constant Value: 31 (0x0000001f)
TYPE_INT_COLOR_RGB8
int TYPE_INT_COLOR_RGB8
The data field holds a color that was originally specified as #rrggbb.
Constant Value: 29 (0x0000001d)
TYPE_INT_DEC
int TYPE_INT_DEC
The data field holds a number that was originally specified in decimal.
Constant Value: 16 (0x00000010)
TYPE_INT_HEX
int TYPE_INT_HEX
The data field holds a number that was originally specified in hexadecimal (0xn).
Constant Value: 17 (0x00000011)
TYPE_LAST_COLOR_INT
int TYPE_LAST_COLOR_INT
Identifies the end of integer values that were specified as color constants.
Constant Value: 31 (0x0000001f)
TYPE_LAST_INT
int TYPE_LAST_INT
Identifies the end of plain integer values.
Constant Value: 31 (0x0000001f)
TYPE_NULL
int TYPE_NULL
The value contains no data.
Constant Value: 0 (0x00000000)
TYPE_REFERENCE
int TYPE_REFERENCE
The data field holds a resource identifier.
Constant Value: 1 (0x00000001)
TYPE_STRING
int TYPE_STRING
The string field holds string data. In addition, if data is nonzero then it is the string block index of the string and assetCookie is the set of assets the string came from.
Constant Value: 3 (0x00000003)
Fields
assetCookie
int assetCookie
Additional information about where the value came from; only set for strings.
changingConfigurations
int changingConfigurations
If the value came from a resource, these are the configurations for which its contents can change.
For example, if a resource has a value defined for the land resource qualifier,
this field will have the CONFIG_ORIENTATION
bit set.
Value is either 0
or combination of CONFIG_MCC
, CONFIG_MNC
, CONFIG_LOCALE
, CONFIG_TOUCHSCREEN
, CONFIG_KEYBOARD
, CONFIG_KEYBOARD_HIDDEN
, CONFIG_NAVIGATION
, CONFIG_ORIENTATION
, CONFIG_SCREEN_LAYOUT
, CONFIG_UI_MODE
, CONFIG_SCREEN_SIZE
, CONFIG_SMALLEST_SCREEN_SIZE
, CONFIG_DENSITY
, CONFIG_LAYOUT_DIRECTION
, CONFIG_COLOR_MODE
or CONFIG_FONT_SCALE
.
density
int density
If the Value came from a resource, this holds the corresponding pixel density.
resourceId
int resourceId
If Value came from a resource, this holds the corresponding resource id.
type
int type
The type held by this value, as defined by the constants here. This tells you how to interpret the other fields in the object.
Public constructors
Public methods
applyDimension
float applyDimension (int unit, float value, DisplayMetrics metrics)
Converts an unpacked complex data value holding a dimension to its final floating
point value. The two parameters unit and value
are as in TYPE_DIMENSION
.
Parameters  

unit 
int : The unit to convert from. 
value 
float : The value to apply the unit to. 
metrics 
DisplayMetrics : Current display metrics to use in the conversion 
supplies display density and scaling information. 
Returns  

float 
The complex floating point value multiplied by the appropriate metrics depending on its unit. 
coerceToString
String coerceToString (int type, int data)
Perform type conversion as per coerceToString()
on an
explicitly supplied type and data.
Parameters  

type 
int : The data type identifier. 
data 
int : The data value. 
Returns  

String 
String The coerced string value. If the value is null or the type is not known, null is returned. 
coerceToString
CharSequence coerceToString ()
Regardless of the actual type of the value, try to convert it to a string value. For example, a color type will be converted to a string of the form #aarrggbb.
Returns  

CharSequence 
CharSequence The coerced string value. If the value is null or the type is not known, null is returned. 
complexToDimension
float complexToDimension (int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final floating
point value. The given data must be structured as a
TYPE_DIMENSION
.
Parameters  

data 
int : A complex data value holding a unit, magnitude, and
mantissa. 
metrics 
DisplayMetrics : Current display metrics to use in the conversion 
supplies display density and scaling information. 
Returns  

float 
The complex floating point value multiplied by the appropriate metrics depending on its unit. 
complexToDimensionPixelOffset
int complexToDimensionPixelOffset (int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final value
as an integer pixel offset. This is the same as
complexToDimension(int, DisplayMetrics)
, except the raw floating point value is
truncated to an integer (pixel) value.
The given data must be structured as a
TYPE_DIMENSION
.
Parameters  

data 
int : A complex data value holding a unit, magnitude, and
mantissa. 
metrics 
DisplayMetrics : Current display metrics to use in the conversion 
supplies display density and scaling information. 
Returns  

int 
The number of pixels specified by the data and its desired multiplier and units. 
complexToDimensionPixelSize
int complexToDimensionPixelSize (int data, DisplayMetrics metrics)
Converts a complex data value holding a dimension to its final value
as an integer pixel size. This is the same as
complexToDimension(int, DisplayMetrics)
, except the raw floating point value is
converted to an integer (pixel) value for use as a size. A size
conversion involves rounding the base value, and ensuring that a
nonzero base value is at least one pixel in size.
The given data must be structured as a
TYPE_DIMENSION
.
Parameters  

data 
int : A complex data value holding a unit, magnitude, and
mantissa. 
metrics 
DisplayMetrics : Current display metrics to use in the conversion 
supplies display density and scaling information. 
Returns  

int 
The number of pixels specified by the data and its desired multiplier and units. 
complexToFloat
float complexToFloat (int complex)
Retrieve the base value from a complex data integer. This uses the
COMPLEX_MANTISSA_MASK
and COMPLEX_RADIX_MASK
fields of
the data to compute a floating point representation of the number they
describe. The units are ignored.
Parameters  

complex 
int : A complex data value. 
Returns  

float 
A floating point value corresponding to the complex data. 
complexToFraction
float complexToFraction (int data, float base, float pbase)
Converts a complex data value holding a fraction to its final floating
point value. The given data must be structured as a
TYPE_FRACTION
.
Parameters  

data 
int : A complex data value holding a unit, magnitude, and
mantissa. 
base 
float : The base value of this fraction. In other words, a
standard fraction is multiplied by this value. 
pbase 
float : The parent base value of this fraction. In other
words, a parent fraction (nn%p) is multiplied by this
value. 
Returns  

float 
The complex floating point value multiplied by the appropriate base value depending on its unit. 
getComplexUnit
int getComplexUnit ()
Return the complex unit type for this value. For example, a dimen type
with value 12sp will return COMPLEX_UNIT_SP
. Only use for values
whose type is TYPE_DIMENSION
.
Returns  

int 
The complex unit type. 
getDimension
float getDimension (DisplayMetrics metrics)
Return the data for this value as a dimension. Only use for values
whose type is TYPE_DIMENSION
.
Parameters  

metrics 
DisplayMetrics : Current display metrics to use in the conversion 
supplies display density and scaling information. 
Returns  

float 
The complex floating point value multiplied by the appropriate metrics depending on its unit. 
getFloat
float getFloat ()
Return the data for this value as a float. Only use for values
whose type is TYPE_FLOAT
.
Returns  

float 
getFraction
float getFraction (float base, float pbase)
Return the data for this value as a fraction. Only use for values whose
type is TYPE_FRACTION
.
Parameters  

base 
float : The base value of this fraction. In other words, a
standard fraction is multiplied by this value. 
pbase 
float : The parent base value of this fraction. In other
words, a parent fraction (nn%p) is multiplied by this
value. 
Returns  

float 
The complex floating point value multiplied by the appropriate base value depending on its unit. 
toString
String toString ()
Returns a string representation of the object. In general, the
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the atsign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Returns  

String 
a string representation of the object. 