Jake Wharton之ViewPagerIndicator解读预备役

Posted 王梵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jake Wharton之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数组中。

以上是关于Jake Wharton之ViewPagerIndicator解读预备役的主要内容,如果未能解决你的问题,请参考以下文章

Jake Wharton 的 LinePageIndicator 在视图回收后不会重新启动

因为 GitHub Actions 我发现了 Jake Wharton 的一个仓库

python基础:我家狗Jake——常用的简单数据类型

分享《Python数据科学手册》+PDF+源码+Jake VanderPlas+陶俊杰

KMP算法学习记录----Jake Boxer博文学习部分

Python面向对象之结构与成员