琐碎知识点

1.自定义控件时,可以通过TypedArray attrs获取布局文件中设置的属性值。再获取某一条属性值前,可以通过attrs.hasValue(R.styleable.属性名)判断是否包含该属性。
代码示例:

if (attrs.hasValue(R.styleable.PullToRefresh_ptrHeaderTextColor)) {   
    ColorStateList colors = attrs.getColorStateList(R.styleable.PullToRefresh_ptrHeaderTextColor);
    if (null != colors) {      
        setTextColor(colors);   
    }
}```
2.获取第一个可见子View

public int getFirstVisibleItemPosition() {
if (mLinearLayout == null) {
return 0;
}
//获取小图标的数量
int size = mLinearLayout.getChildCount();
for (int i = 0; i < size; i++) {
View view = mLinearLayout.getChildAt(i);
//当出现小图标的x轴比当前ScrollView的x轴大时,这个小图标就是当前可见的第一个
if (getScrollX() < view.getX() + mItemWidth / 2.0F)
return i;
}
return 0;
}


3.Library Module中不能使用Switch方式操作resouce id。因为在SDK tools r14之后这些id是non final的,要操作需要使用if-else,AS中有快捷键转换。


持续更新ing!!!

你可能感兴趣的:(琐碎知识点)