androidx.annotation

Annotations

AnimRes

Denotes that an integer parameter, field or method return value is expected to be an anim resource reference (e.g. android.R.anim.fade_in).

android
AnimatorRes

Denotes that an integer parameter, field or method return value is expected to be an animator resource reference (e.g. android.R.animator.fade_in).

android
AnyRes

Denotes that an integer parameter, field or method return value is expected to be a resource reference of any type.

android
AnyThread

Denotes that the annotated method can be called from any thread (e.g. it is "thread safe".) If the annotated element is a class, then all methods in the class can be called from any thread.

Cmn
ArrayRes

Denotes that an integer parameter, field or method return value is expected to be an array resource reference (e.g. android.R.array.phoneTypes).

android
AttrRes

Denotes that an integer parameter, field or method return value is expected to be an attribute reference (e.g. android.R.attr.action).

android
BinderThread

Denotes that the annotated method should only be called on the binder thread.

android
BoolRes

Denotes that an integer parameter, field or method return value is expected to be a boolean resource reference.

android
CallSuper

Denotes that any overriding methods should invoke this method as well.

Cmn
CheckResult

Denotes that the annotated method returns a result that it typically is an error to ignore.

Cmn
ChecksSdkIntAtLeast

Denotes that the annotated method checks if the SDK_INT API level is at least the given value, and either returns it or executes the given lambda in that case (or if it's a field, has the value true).

android
ColorInt

Denotes that the annotated element represents a packed color int, AARRGGBB.

Cmn
ColorLong

Denotes that the annotated element represents a packed color long.

Cmn
ColorRes

Denotes that an integer parameter, field or method return value is expected to be a color resource reference (e.g. android.R.color.black).

android
ContentView

Annotation that can be attached to a constructor with a single LayoutRes parameter to denote what layout the component intends to inflate and set as its content.

android
DeprecatedSinceApi

Denotes that this API is only useful until the given API level; after that, a more suitable platform API is available.

android
DimenRes

Denotes that an integer parameter, field or method return value is expected to be a dimension resource reference (e.g. android.R.dimen.app_icon_size).

android
Dimension

Denotes that an integer parameter, field or method return value is expected to represent a dimension.

android
Discouraged

Denotes that the annotated element, while not disallowed or deprecated, is one that programmers are generally discouraged from using.

Cmn
DisplayContext

Denotes a android.content.Context that is tied to a android.view.Display and can be used to obtain one via android.content.Context.getDisplay.

android
DoNotInline

Denotes that the annotated method should not be inlined when the code is optimized at build time.

android
DrawableRes

Denotes that an integer parameter, field or method return value is expected to be a drawable resource reference (e.g. android.R.attr.alertDialogIcon).

android
EmptySuper

Denotes that any overriding methods should not invoke this method, since it is defined to be empty (or perhaps contain other code not intended to be run when overridden).

Cmn
FloatRange

Denotes that the annotated element should be a float or double in the given range

Cmn
FontRes

Denotes that an integer parameter, field or method return value is expected to be a font resource reference (e.g.

android
FractionRes

Denotes that an integer parameter, field or method return value is expected to be a fraction resource reference.

android
GravityInt

Denotes that the annotated element represents a packed gravity int.

android
GuardedBy

Denotes that the annotated method or field can only be accessed when holding the referenced lock.

Cmn
HalfFloat

Denotes that the annotated element represents a half-precision floating point value.

android
IdRes

Denotes that an integer parameter, field or method return value is expected to be an id resource reference (e.g. android.R.id.copy).

android
InspectableProperty

This annotation is deprecated. Replaced by the androidx.resourceinpsection package.

android
InspectableProperty.EnumEntry

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

android
InspectableProperty.FlagEntry

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

android
IntDef

Denotes that the annotated element of integer type, represents a logical type and that its value should be one of the explicitly named constants.

Cmn
IntRange

Denotes that the annotated element should be an int or long in the given range.

Cmn
IntegerRes

Denotes that an integer parameter, field or method return value is expected to be an integer resource reference (e.g. android.R.integer.config_shortAnimTime).

android
InterpolatorRes

Denotes that an integer parameter, field or method return value is expected to be an interpolator resource reference (e.g. android.R.interpolator.cycle).

android
Keep

Denotes that the annotated element should not be removed when the code is minified at build time.

android
LayoutRes

Denotes that an integer parameter, field or method return value is expected to be a layout resource reference (e.g. android.R.layout.list_content).

android
LongDef

Denotes that the annotated long element represents a logical type and that its value should be one of the explicitly named constants.

Cmn
MainThread

Denotes that the annotated method should only be called on the main thread.

Cmn
MenuRes

Denotes that an integer parameter, field or method return value is expected to be a menu resource reference.

android
NavigationRes

Denotes that an integer parameter, field or method return value is expected to be a navigation resource reference (e.g.

android
NonNull

Denotes that a parameter, field or method return value can never be null.

android
NonUiContext

Denotes a android.content.Context that can not be used to obtain a android.view.Display via android.content.Context.getDisplay nor to obtain an instance of a visual service, such a android.view.WindowManager, android.view.LayoutInflater or android.app.WallpaperManager via android.content.Context.getSystemService.

android
Nullable

Denotes that a parameter, field or method return value can be null.

android
OpenForTesting

Denotes that this class or method is only open to allow unit testing.

Cmn
OptIn

Allows use of an opt-in API denoted by the given markers in the annotated file, declaration, or expression.

android
PluralsRes

Denotes that an integer parameter, field or method return value is expected to be a plurals resource reference.

android
Px

Denotes that an integer parameter, field or method return value is expected to represent a pixel dimension.

android
RawRes

Denotes that an integer parameter, field or method return value is expected to be a raw resource reference.

android
ReplaceWith

Specifies a code fragment that can be used to suggest a replacement for a method in conjunction with the ReplaceWith lint check.

android
RequiresApi

Denotes that the annotated element should only be called on the given Android API level or higher.

Cmn
android
RequiresExtension

Denotes that the annotated element should only be called if the given extension is at least the given version.

android
RequiresFeature

Denotes that the annotated element requires one or more features.

Cmn
RequiresOptIn

Denotes that the annotated element is a marker of an opt-in API.

android
RequiresPermission

Denotes that the annotated element requires (or may require) one or more permissions.

android
RequiresPermission.Read

Specifies that the given permission is required for read operations.

android
RequiresPermission.Write

Specifies that the given permission is required for write operations.

android
RestrictTo

Denotes that the annotated element should only be accessed from within a specific scope (as defined by Scope).

Cmn
android
N
ReturnThis

Denotes that any overriding methods should return this.

Cmn
Size

Denotes that the annotated element should have a given size or length.

Cmn
StringDef

Denotes that the annotated String element, represents a logical type and that its value should be one of the explicitly named constants.

Cmn
StringRes

Denotes that an integer parameter, field or method return value is expected to be a String resource reference (e.g. android.R.string.ok).

android
StyleRes

Denotes that an integer parameter, field or method return value is expected to be a style resource reference (e.g. android.R.style.TextAppearance).

android
StyleableRes

Denotes that an integer parameter, field or method return value is expected to be a styleable resource reference (e.g. android.R.styleable.TextView_text).

android
TransitionRes

Denotes that an integer parameter, field or method return value is expected to be a transition resource reference.

android
UiContext

Denotes a android.content.Context that can be used to create UI, meaning that it can provide a android.view.Display via android.content.Context.getDisplay and can be used to obtain an instance of a UI-related service, such as android.view.WindowManager, android.view.LayoutInflater or android.app.WallpaperManager via android.content.Context.getSystemService.

android
UiThread

Denotes that the annotated method or constructor should only be called on the UI thread.

Cmn
VisibleForTesting

Denotes that the class, method, or field has its visibility relaxed so that it is more widely visible than otherwise necessary to make code testable.

Cmn
WorkerThread

Denotes that the annotated method should only be called on a worker thread.

android
XmlRes

Denotes that an integer parameter, field or method return value is expected to be an XML resource reference.

android

Enums

InspectableProperty.ValueType

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

android
RequiresOptIn.Level

Severity of the diagnostic that should be reported on usages of opt-in API which did not explicitly accept the opt-in aspect of that API either by:

android
RestrictTo.Scope
Cmn
android
N