自定义listview下拉刷新

自定义listview下拉刷新



自定义progressBar


<rotate  xmlns:。。。。
   android:fromDegrees=“0”
android:pivotX=“50%”
android:pivotY=“50%”
android:toDegrees=“360”>


<shape   android:shape=”ring“ android:innerRadiusRatio=”2.5“>表示内部环的比例,环的宽度/2.5=内部环得宽度
android:thicknessRatio=”15“ 厚度的比例,厚度=环的宽度/2
android:uselevel=”false“ 持续显示  true为若影若现>
      <gradient   android:startColor=”#ff0000“  android:centerColor=”#88ff0000“ android:endColor="#ffffff”android:type="sweep"/>慢慢少色
</shape>

</rotate>

<ProgressBar 
//不定期的,不知啥时结束
            indeterminateDrawable=“@drawable/custom_progressbar(这是上面的动画)/>





1,RefreshListView extends ListView{

private  LinearLayout   headerView;
             public RefreshListView( Context  context,AttributeSet attrs,int  defStyleAttr ){
                 super(context, attrs,defStyleAttr);
                          initHeaderView( context );
                  }
    private void initHeaderView(Context  context) {
              headerView=View.inflate(context ,R.layout.refresh_header,null);
            
                 view.measure(0,0);
               int height= view.getMeasuredHeight(  );


               view.setPadding(0,-控件的高,0,0);完全隐藏
              view.setPadding(0,0,0,0);完全显示

              addHeaderView( headView);
        }


private float startY=-1;
public boolean  onTouchEvent (MotionEvent  ev){

                        switch( ev.getAction( )  ) {
                   case   MotionEvent.ACTION_DOWN:
                            startY=ev.getY( );
    //记录起始坐标
                   break;
                   case   MotionEvent.ACTION_DOWN:
if(startY==-1){
  startY=ev.getY();
}
                           float  endY=ev.getY();
                       float distanceY=endY-startY;
下拉时才显示
if(distanceY>0){
             float     paddingTop=-控件高+distanceY;
                 view.setPadding( 0, paddingTop,0 , 0);//动态的显示下拉刷新控件
}
                   break;
                   case   MotionEvent.ACTION_DOWN:
                             startY=-1;
                   break;

return true;
               }
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值