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方法即可