luckybilly/Gloading

一点疑惑

nanfeifei opened this issue · 4 comments

代码中view != mCurStatusView与mWrapper.indexOfChild(view) < 0的结果不应该都是view与mCurStatusView不相等则为true,为什么不直接判断view != mCurStatusView而需要加个或者后面的下标小于0的判断,是有情况会相等但是下标小于0吗?目前没想到什么情况会是这个结果,下面else if中的判断的结果是view与mCurStatusView相等代码中的写法是为了同时校验两个view不为空吗?

ViewGroup.LayoutParams lp = view.getLayoutParams();
if (lp != null) {
lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
}
这段代码存不存在在实现adapter的时候都需要考虑具体布局的样式,如果使用者设置了WRAP但是子View不设置好位置还是会显示异常,那么这句话如果不写也没什么影响吧,写了可能会导致使用者看到的结果不是自己预期的结果吧。。

2个判断是为了确保view已经被添加到mWrapper中,例如开发者在gloading以外的地方通过removeView将view从mWrapper中移除,在此处要将其添加进mWrapper中

被mWrapper封装后,view的父容器变为mWrapper了,原先的layoutParams被赋值给mWrapper以实现位置替换,所以view在mWrapper中的布局为填满父控件。 demo中列出了一些使用示例,如果在未覆盖到的场景下出现问题,还请及时反馈,谢谢! @nanfeifei

@nanfeifei 建议不同主题的问题开不同的issue来讨论