
Android RotateAnimation失效
代码如下:一个imageview,添加一个rotateanimation.问题:onCreate()时anim.start()可以生效看到imageview旋转,但是在o...
代码如下:一个imageview,添加一个rotateanimation.
问题:onCreate()时anim.start()可以生效看到imageview旋转,但是在onclick时anim.start()却失效了,imageview没有旋转,求解!实在不知道原因是啥了,谢谢!
package com.testandroid;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements OnClickListener {
private ImageView iv;
private RotateAnimation mAnim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.imageView1);
iv.setOnClickListener(this);
mAnim = new RotateAnimation(0.0F, 359.0F, Animation.RELATIVE_TO_SELF,
0.5F, Animation.RELATIVE_TO_SELF, 0.5F);
mAnim.setRepeatMode(Animation.REVERSE);
mAnim.setRepeatMode(Animation.INFINITE);
mAnim.setDuration(2000);
iv.setAnimation(mAnim);
mAnim.start();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageView1:
mAnim.start();
Toast.makeText(getApplicationContext(), "onclick",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
} 展开
问题:onCreate()时anim.start()可以生效看到imageview旋转,但是在onclick时anim.start()却失效了,imageview没有旋转,求解!实在不知道原因是啥了,谢谢!
package com.testandroid;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity implements OnClickListener {
private ImageView iv;
private RotateAnimation mAnim;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.imageView1);
iv.setOnClickListener(this);
mAnim = new RotateAnimation(0.0F, 359.0F, Animation.RELATIVE_TO_SELF,
0.5F, Animation.RELATIVE_TO_SELF, 0.5F);
mAnim.setRepeatMode(Animation.REVERSE);
mAnim.setRepeatMode(Animation.INFINITE);
mAnim.setDuration(2000);
iv.setAnimation(mAnim);
mAnim.start();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageView1:
mAnim.start();
Toast.makeText(getApplicationContext(), "onclick",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
} 展开
1个回答
展开全部
加断点用Debug调试,在onclick中的mAnim.start();,或者直接用System.out.println();,看问题出在哪
onCreate()方法中,iv.setOnClickListener(this);这句话放在最下面试试,就是mAnim.start()这句后面。
onCreate()方法中,iv.setOnClickListener(this);这句话放在最下面试试,就是mAnim.start()这句后面。

2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询