下拉刷新PullToRefresh定制-创新互联

我们使用PullToRefresh库的时候,下拉的level-list以及刷新的帧动画都需要自己定制。如果每次都修改库非常麻烦,特别是一个项目有几个地方用到不同的样式,又不能多次关联同样的库。所以我们要自定义属性,在xml文件中就可以直接设置参数。

站在用户的角度思考问题,与客户深入沟通,找到宜州网站设计与宜州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟主机、企业邮箱。业务覆盖宜州地区。

具体实现步骤:

1.在父类LoadingLayout中找到显示动画的ImageView控件,此控件自己定义,原来的控件隐藏。

 mLoadingImage = (ImageView) mInnerLayout.findViewById(R.id.img_loading);

2.在attrs文件中

  

    

    

    

3.// TODO在子类RotateLoadingLayout

refreshDrawable=attrs.getDrawable(R.styleable.PullToRefresh_ptrRefreshDrawable);

pullDrawable = attrs.getDrawable(R.styleable.PullToRefresh_ptrPullDrawable);

total = attrs.getInteger(R.styleable.PullToRefresh_ptrTotal, total);

4.// TODO 在onPullImpl方法中

int level = (int) (scaleOfLayout >= 1 ? total : scaleOfLayout * total);

if (pullDrawable == null)

    {

 mLoadingImage.setImageResource(R.drawable.homepage_pull_progresses);

    } else

   {

 mLoadingImage.setImageDrawable(pullDrawable);

    }

LevelListDrawable levelList = (LevelListDrawable) mLoadingImage.getDrawable();

levelList.setLevel(level);

5.// TODO 在refreshingImpl中

if (refreshDrawable == null)

{

mLoadingImage.setImageResource(R.drawable.homepage_loading_progressbar);

} else

{

mLoadingImage.setImageDrawable(refreshDrawable);

}

AnimationDrawable drawable = (AnimationDrawable) 6.mLoadingImage.getDrawable();

drawable.start();

// TODO 在resetImpl方法中

if (pullDrawable == null)

{

mLoadingImage.setImageResource(R.drawable.homepage_pull_progresses);

} else

{

mLoadingImage.setImageDrawable(pullDrawable);

}

7.在自己项目里关联库后

  

    android:id="@+id/pull_refresh_list"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    app:ptrPullDrawable="@drawable/homepage_pull_progresses"

    app:ptrRefreshDrawable="@drawable/homepage_loading_progressbar"

    app:ptrTotal="24" />

备注:参考附件上传的库里RotateLoadingLayout类和LoadingLayout类

附件:http://down.51cto.com/data/2366510

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:下拉刷新PullToRefresh定制-创新互联
当前地址:http://ybzwz.com/article/dpjeoi.html