Android ViewPagerIndicator详解及实例代码
关于自定义View的属性零碎知识
自定义View和自定义属性的知识不再此提及,这里着重说的是属性在自定义View中的获取方式,自定义的属性如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Wisely"> <attr name="wisely_1" format="boolean" /> <attr name="wisely_2" format="boolean" /> <attr name="wisely_3" format="boolean" /> <attr name="wisely_4" format="boolean" /> </declare-styleable> <attr name="wisely_out" format="boolean" /> </resources>
自定义View的相关代码如下:
public CustomView(Context context, AttributeSet attrs) { super(context, attrs); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Wisely); typedArray.getBoolean(R.styleable.Wisely_wisely_1, true); typedArray.recycle(); }
重点看R.styleable.Wisely,它返回的是一个数组,而R.styleable.Wisely_wisely_1表示的则是数组的索引,它们在R文件中的表示如下:
public static final class attr { public static final int wisely_1 = 0x7f010000; public static final int wisely_2 = 0x7f010001; public static final int wisely_3 = 0x7f010002; public static final int wisely_4 = 0x7f010003; public static final int wisely_out = 0x7f010004; } public static final class styleable { public static final int[] Wisely = { 0x7f010000, 0x7f010001, 0x7f010002, 0x7f010003 }; public static final int Wisely_wisely_1 = 0; public static final int Wisely_wisely_2 = 1; public static final int Wisely_wisely_3 = 2; public static final int Wisely_wisely_4 = 3; }
从上面可以看出一点,wisely_out也是attrs.xml中的属性,不过它是写在以Wisely命名的标签之外的,所以并未列入到styleable类的Wisely数组中。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!