欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

琐碎知识点

程序员文章站 2022-07-12 16:31:11
...

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!!!