View绘制体系中的AttributeSet和TypedArray是用于解析和处理XML布局文件中的属性值的工具。
AttributeSet是一个接口,用于表示一个XML布局文件中的属性集合。它提供了一系列方法来获取属性的值,例如getAttributeValue()、getAttributeIntValue()、getAttributeFloatValue()等。通过AttributeSet可以获取到布局文件中定义的所有属性及其对应的值。
TypedArray是AttributeSet的一个实现类,它继承自AttributeSet接口,并提供了一些额外的方法来获取属性的值。TypedArray常用于在自定义View中解析和处理布局文件的属性值。
在使用TypedArray之前,需要先通过Context.obtainStyledAttributes()方法来获取一个TypedArray对象。这个方法需要传入一个AttributeSet参数和一个int数组参数,用于指定要获取的属性的资源ID。获取到TypedArray对象后,可以使用一系列的get方法来获取属性的值,例如getInt()、getFloat()、getDimension()等。
TypedArray对象在使用完后,需要通过recycle()方法来释放资源,避免内存泄漏。
AttributeSet和TypedArray在View的绘制过程中起到了重要的作用。它们使得开发者可以在布局文件中定义属性,并在自定义View中获取和处理这些属性的值,从而实现对View的个性化定制。