关于anima有个问题
private ImageView exv1;
private AnimationDrawable anima;
public void onResume()
{
super.onResume();
exv1.setVisibility(View.INVISIBLE);
anima.stop();
float x = 40.0f;
float y = 40.0f;
exv1.setLocation((int) y - 20, (int) x - 20);
exv1.setVisibility(View.VISIBLE);
anima.start();
}
class LayoutListener implements OnTouchListener {
public boolean onTouch(View v, MotionEvent event) {
exv1.setVisibility(View.INVISIBLE);
anima.stop();
float x = event.getX();
float y = event.getY();
exv1.setLocation((int) y - 20, (int) x - 20);
exv1.setVisibility(View.VISIBLE);
anima.start();
return false;
}
}
同样的执行函数
放在onResume里,并不播放gif,onTouch时正常播放gif,为何呢??
------解决方案--------------------
代码太少不好说。
有一种可能是在onResume的时候视图是没有宽/高的,设置位置之类的方法可能会出错。
在onTouch里面就没有这种问题了。
------解决方案--------------------
把onTouch里面的
float x = event.getX();
float y = event.getY();
换成onResume里面的固定值,看看还能播放吗?