android 图片进度条

png图片

代码

ImageView loading=getActivity().findViewById(R.id.pro_loading);
        
        LinearInterpolator lin = new LinearInterpolator();
        am = new RotateAnimation ( 0, +360,
        Animation.RELATIVE_TO_SELF, 0.5f,
        Animation.RELATIVE_TO_SELF, 0.5f ); 
        am. setDuration ( 1000 );//旋转一个周期的时长
        am. setRepeatCount ( -1 );// 动画重复次数(-1 表示一直重复)
        am.setRepeatCount(Animation.INFINITE);
        am.setInterpolator(lin); 
        loading.setAnimation(am);
        am.startNow();

因为有好多fragment要用到,所以封装了一下

终极类:

public class ProgressImageView extends ImageView {
    private Animation am;

    public ProgressImageView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }
    
    public ProgressImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
        // TODO Auto-generated constructor stub
        init();
    }
    
    public ProgressImageView(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        init();
    }
    
    public void init(){
        LinearInterpolator lin = new LinearInterpolator();
        am = new RotateAnimation ( 0, +360,
        Animation.RELATIVE_TO_SELF, 0.5f,
        Animation.RELATIVE_TO_SELF, 0.5f ); 
        am. setDuration ( 1000 );//旋转一个周期的时长
        am. setRepeatCount ( -1 );// 动画重复次数(-1 表示一直重复)
        am.setRepeatCount(Animation.INFINITE);
        am.setInterpolator(lin); 
    }
    
    /**
     * 显示
     */
    public void show(){
        setVisibility(View.VISIBLE);
        this.setAnimation(am);
        am.startNow();
    }
    
    /**
     *隐藏 
     */
    public void hide(){
        this.clearAnimation();
        setVisibility(View.INVISIBLE);
    }

}
        <com.lz.swc.view.ProgressImageView 
            android:id="@+id/pro_loading"
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:src="@drawable/loading"
            android:layout_centerInParent="true"
            android:contentDescription="@string/tabspic"
            android:visibility="invisible"
            />

在xml中引用就可以了。调用 show hide方法即可

原文地址:https://www.cnblogs.com/beenupper/p/3735703.html