Android应用中怎么实现一个下拉刷新功能

Android应用中怎么实现一个下拉刷新功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达十年累计超上千家客户的网站建设总结了一套系统有效的全网推广解决方案,现已广泛运用于各行各业的客户,其中包括:PVC花箱等企业,备受客户赞赏。

一、下拉才出现的视图

pull_to_refresh_header.xml



 
  
   
   
  
  
  
 
 

ic_loading_refresh.xml


1、ProgressBar的indeterminate属性,代表进程的时间是否不确定。

2、黄色底的是Android Studio的提示。第一个提示的是,当LinearLayout中的Text拓展得足够长时,会与ImageView重叠,实际效果是把ImageView给覆盖了。第二个是,建议用toStartOf代替toLeftOf,用marginEnd代替marginRight等。原因和影响还没完全搞懂。

二、图标旋转的动画

private ImageView mPull_to_refresh_image;
private RotateAnimation mFlipAnimation;

...

  mFlipAnimation = new RotateAnimation(0, -180, RotateAnimation.RELATIVE_TO_SELF, 0.5f,
    RotateAnimation.RELATIVE_TO_SELF, 0.5f);
  mFlipAnimation.setInterpolator(new LinearInterpolator());
  mFlipAnimation.setDuration(250);
  mFlipAnimation.setFillAfter(true);

...
mPull_to_refresh_image.startAnimation(mFlipAnimation);

1、构造方法:

public RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue,
   int pivotYType, float pivotYValue)

(1)toDegrees - fromDegrees < 0 就会是逆时针旋转,反之是顺时针。这是我取不同值测试出来的。水平线右边是0°,或者360°,左边是180°,或者是-180°。

(2)pivotType是枢轴类型,也就是旋转中心。RELATIVE_TO_SELF代表相对这个view本身。0.5f代表这个view一半大小的位置。

2、setInterpolator作用是设置速度器。LinearInterpolator是匀速加速器,也就是匀速播放动画。

3、setDuration作用是设置动画时长,以毫秒为单位。

4、setFillAfter作用是,当参数为true时,动画播放完后,view会维持在最终的状态。而默认值是false,也就是动画播放完后,view会恢复原来的状态。

关于Android应用中怎么实现一个下拉刷新功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


本文名称:Android应用中怎么实现一个下拉刷新功能
本文URL:http://pwwzsj.com/article/jscisd.html