琐碎知识点
程序员文章站
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!!!
上一篇: Emscripten-指令翻译