// 动画线程
public class AlphaThread extends Thread{
private AlphaAnimation mAlpha1 = new AlphaAnimation(1,0.1f);
private AlphaAnimation mAlphaA2 = new AlphaAnimation(0,1.1f);
@Override
public void run() {
mAlpha1.setDuration(1000);
mAlphaA2.setDuration(600);
mAlpha1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if(start){
Log.i(TAG, "run: ---------1");
vilew.startAnimation(mAlphaA2);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
mAlphaA2.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if(start){
Log.i(TAG, "run: ----------2");
vilew.startAnimation(mAlpha1);
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
public void startAlpha() {
vilew.startAnimation(mAlpha1);
}
}
public void ondestroy() {
start=false;
vilew.clearAnimation();
mAlphaThread=null;
}
1: 开始动画
start=true;
view.setVisibility(View.VISIBLE);
mAlphaThread.startAlpha();
2: 暂停动画
start=false;
mLinkingView.clearAnimation();
mLinkingView.setVisibility(View.GONE);