Android旋转动画错误
我有一个Android旋转动画错误,android,rotateanimation,Android,Rotateanimation,我有一个RotateAnimation附加到ImageButton上,单击该按钮可旋转图像,并使用OnAnimationEnd启动一个新活动 问题是它不起作用。关闭应用程序并返回后,我就进入了新活动(..)中,当我返回时,动画就会执行。我希望动画发生,然后开始新的活动 出于某种原因,在使用相同的代码之前,它工作得非常好,但我不知道,一些微不足道的更改可能会影响它 这是密码 public void onCreate(Bundle savedInstanceState) { super.o
RotateAnimation
附加到ImageButton
上,单击该按钮可旋转图像,并使用OnAnimationEnd
启动一个新活动
问题是它不起作用。关闭应用程序并返回后,我就进入了新活动(..)
中,当我返回时,动画就会执行。我希望动画发生,然后开始新的活动
出于某种原因,在使用相同的代码之前,它工作得非常好,但我不知道,一些微不足道的更改可能会影响它
这是密码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.menu);
ImageButton amazingPicsButton = (ImageButton) findViewById(R.id.amazingPics),
setViewOnClick(amazingPicsButton, new Intent("com.jasfiddle.AmazingInterface.AMAZINGPICS"));
}
/**
* Generic OnClick setter method for giving various View objects a click listener
* @param b
* @param intent
*/
private <B> void setViewOnClick(B b, final Intent intent){
((View) b).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
amazingPicsSound = createRandButSound();
amazingPicsSound.start();
rotateAndNewActivity(v, intent);
}
});
}
/** function that produces rotation animation on the View v.
* Could be applied to button, ImageView, ImageButton, etc.
*/
private void rotateAndNewActivity(View v, final Intent intent){
// Create an animation instance
Animation an = new RotateAnimation(30, 360, v.getWidth()/2, v.getHeight()/2);
an.setDuration(50); // duration in ms
an.setRepeatCount(3); // -1 = infinite repeate
/*we override the Animation an object to include the start of an new Activity
at the end of animation */
an.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
//start the activity onAnimationEnd
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
startActivity(intent);
}
});
// Set the animation's parameters
v.setAnimation(an);
}
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE\u NO\u TITLE);
setContentView(R.layout.menu);
ImageButton amazingPicsButton=(ImageButton)findViewById(R.id.amazingPics),
setViewOnClick(amazingPicsButton,new Intent(“com.jaspiddle.AmazingInterface.AMAZINGPICS”);
}
/**
*用于为各种视图对象提供单击侦听器的通用OnClick setter方法
*@param b
*@param意图
*/
私有void setViewOnClick(B,最终意图){
((视图)b).setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
amazingPicsSound=createRandButSound();
mazingpicssound.start();
轮换和新活动(v,意图);
}
});
}
/**在视图v上生成旋转动画的函数。
*可应用于按钮、ImageView、ImageButton等。
*/
私有void rotateAndNewActivity(视图五,最终意图){
//创建动画实例
动画an=新的旋转动画(30,360,v.getWidth()/2,v.getHeight()/2);
an.setDuration(50);//持续时间(毫秒)
一个.setRepeatCount(3);//-1=无限重复
/*我们覆盖对象的动画以包含新活动的开始
在动画结束时*/
.setAnimationListener(新的AnimationListener(){
@凌驾
onAnimationStart上的公共无效(动画){
//TODO自动生成的方法存根
}
@凌驾
onAnimationRepeat上的公共无效(动画){
//TODO自动生成的方法存根
}
//在AnimationEnd上启动活动
@凌驾
onAnimationEnd上的公共无效(动画){
//TODO自动生成的方法存根
星触觉(意向);
}
});
//设置动画的参数
v、 setAnimation(an);
}
仅设置要在屏幕上播放的下一个动画。要立即启动动画,请使用
在您的情况下,使用v.startAnimation(an)代码>仅设置要在屏幕上播放的下一个动画。要立即启动动画,请使用
在您的情况下,使用v.startAnimation(an)代码>尝试v.startAnimation(an)代码>而不是v.setAnimation(an)代码>请将此作为答案发布,以便我可以接受、投票并感谢您:DTryv.startAnimation(an)代码>而不是v.setAnimation(an)代码>请将此作为答案发布,以便我可以接受、投票并感谢您:D