@Override
  protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    super.onScrollChanged(l, t, oldl, oldt);

    if (!hasResetHeader) {
      if (measuredHeaderHeight > 0 && state != State.REFRESHING) {
        setHeaderPadding(-measuredHeaderHeight);
      }

      hasResetHeader = true;
    }
  }
 /** 监听ListView滑动 */
 @Override
 protected void onScrollChanged(int l, int t, int oldl, int oldt) {
   super.onScrollChanged(l, t, oldl, oldt);
   // 获得ImageView的父控件
   View header = (View) mImageView.getParent();
   if (header.getTop() < 0 && mImageView.getHeight() > mImageViewHeight) {
     // 减小ImageView的高度 -- 不能超过图片最原始的高度
     mImageView.getLayoutParams().height =
         Math.max(mImageView.getHeight() + header.getTop(), mImageViewHeight);
     // ImageView所在的容器的高度也要变化:getTop--->0
     header.layout(header.getLeft(), 0, header.getRight(), header.getHeight());
     mImageView.requestLayout();
   }
 }