解决方案 »

  1.   

    看到一个getTop()的函数收到启发,原来是这么的简单:
    判断第一个和最后一条是否显示全:
    if ((visibleItemCount > 0) && (firstVisibleItem == 0)) {
                    if (view.getChildAt(0).getTop() >= 0) {
                        isFirstRow = true;
                    }                
                }
                else if ((totalItemCount > 0) 
                        && (view.getLastVisiblePosition() 
                                == totalItemCount - 1)) {
                    if (view.getBottom() 
                            == view.getChildAt(
                                    view.getChildCount()-1)
                                    .getBottom()) {
                        isLastRow = true;
                    }
                }