declare-styleable是一个用于在XML文件中定义自定义View属性的标签。它的使用如下:
1. 在res/values文件夹下创建一个attrs.xml文件,用于定义自定义View的属性。示例代码如下:
```xml
```
2. 在布局文件中使用自定义View,并引入自定义属性。示例代码如下:
```xml
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/customView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:customAttr1="Hello"
app:customAttr2="123" />
```
3. 在自定义View的构造方法中获取这些属性值。示例代码如下:
```java
public class CustomView extends View {
private String customAttr1;
private int customAttr2;
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
customAttr1 = a.getString(R.styleable.CustomView_customAttr1);
customAttr2 = a.getInteger(R.styleable.CustomView_customAttr2, 0);
a.recycle();
}
}
```
使用declare-styleable可以方便地定义和使用自定义View的属性,使得自定义View的属性配置更加灵活和可扩展。