Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

InspectableProperty

@Target([AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER]) class InspectableProperty
androidx.annotation.InspectableProperty

Denotes that the annotated method is the getter for a resources-backed property that should be shown in Android Studio's inspection tools.

Summary

Nested classes

One entry in an enumeration packed into a primitive {int}.

One flag value of many that may be packed into a primitive {int}.

The type of value packed into a primitive {int}.

Public constructors

<init>(name: String, attributeId: Int, hasAttributeId: Boolean, valueType: InspectableProperty.ValueType, enumMapping: Array<InspectableProperty.EnumEntry>, flagMapping: Array<InspectableProperty.FlagEntry>)

Denotes that the annotated method is the getter for a resources-backed property that should be shown in Android Studio's inspection tools.

Properties

Int

If the property is inflated from XML, the resource ID of its XML attribute.

Array<InspectableProperty.EnumEntry>

For enumerations packed into primitive {int} properties, map the values to string names.

Array<InspectableProperty.FlagEntry>

For flags packed into primitive {int} properties, model the string names of the flags.

Boolean

If this property has an attribute ID.

String

The name of the property.

InspectableProperty.ValueType

Specify how to interpret a value type packed into a primitive integer.

Public constructors

<init>

InspectableProperty(name: String, attributeId: Int, hasAttributeId: Boolean, valueType: InspectableProperty.ValueType, enumMapping: Array<InspectableProperty.EnumEntry>, flagMapping: Array<InspectableProperty.FlagEntry>)

Denotes that the annotated method is the getter for a resources-backed property that should be shown in Android Studio's inspection tools.

Properties

attributeId

val attributeId: Int

If the property is inflated from XML, the resource ID of its XML attribute. If left as the default, and hasAttributeId() is true, the attribute ID will be inferred from name().

Return
Int: The attribute ID of the property or the default null resource ID

enumMapping

val enumMapping: Array<InspectableProperty.EnumEntry>

For enumerations packed into primitive {int} properties, map the values to string names. Note that enumMapping() cannot be used simultaneously with flagMapping().

Return
Array<InspectableProperty.EnumEntry>: An array of EnumEntry, empty if not applicable

flagMapping

val flagMapping: Array<InspectableProperty.FlagEntry>

For flags packed into primitive {int} properties, model the string names of the flags. Note that flagMapping() cannot be used simultaneously with enumMapping().

Return
Array<InspectableProperty.FlagEntry>: An array of FlagEntry, empty if not applicable

hasAttributeId

val hasAttributeId: Boolean

If this property has an attribute ID. Set to false if the annotated property does not have an attribute ID, that is, it is not inflated from an XML attribute. This will prevent the automatic inference of the attribute.

Return
Boolean: Whether to infer an attribute ID if not supplied

name

val name: String

The name of the property. If left empty (the default), the property name will be inferred from the name of the getter method.

Return
String: The name of the property.

valueType

val valueType: InspectableProperty.ValueType

Specify how to interpret a value type packed into a primitive integer.

Return
InspectableProperty.ValueType: A ValueType