1、@Nullable :可以传null
2、@NotNull :不可以传null
3、@CheckResult:检查所传参数是否符合方法里的需求
4、@IntRange:限定类型、范围 如:@IntRange(from= 1, to = 180) 参数现在为int类型,1-180之间
5、@FloatRange :限定类型、范围 ,同上
6、@Size:限定长度;用法有:
@Size(4):限定参数长度为4
@Size(multiple = 2) :限定参数长度为2的倍数
@ Size( min= 2):限定最小的长度
@ Size( max= 2):限定最大的长度
@ Size( value= 2):等同于 @Size(2) 写法
7、@RequiresPermission:执行方法所需权限
8、@StringRes :资源注解 限定参数类型为String
9、@IntegerRes:R.integer 类型资源。
10、@AnimatorRes:R.animator 类型资源。
11、@AnimRes:R.anim 类型资源。
12、@ArrayRes:R.array 类型资源。
13、@AttrRes:R.attr 类型资源。
14、@BoolRes:R.bool 类型资源。
15、@ColorRes:R.color 类型资源。
16、@DimenRes:R.dimen 类型资源。
17、@DrawableRes:R.drawable 类型资源。
18、@FractionRes:R.fraction 类型资源。(百分比)
19、@IdRes:R.id 类型资源。
20、@InterpolatorRes:R.interpolator 类型资源。(插值器)
21、@LayoutRes:R.layout 类型资源。
22、@MenuRes:R.menu 类型资源。
23、@PluralsRes:R.plurals 类型资源。(复数)
24、@RawRes:R.raw 类型资源。
25、@StyleableRes:R.styleable 类型资源。
26、@StyleRes:R.style 类型资源。
27、@TransitionRes: R.transition 类型资源。
28、@XmlRes:R.xml 类型资源。
29、@AnyRes:未知资源。(表示自己不知道是什么类型的资源。比如有可能为 R.drawable 也有可能是 R.string。)
30、@ColorInt 注解的作用为:限定颜色值。(ARGB:0xAARRGGBB)如果直接使用资源 id,会报错,要通过 ContextCompat.getColor() 获取颜色id