单击Textview
我正在使用以下代码进行帧动画
imgclickanimation.setBackgroundResource(R.anim.clickframeanimation);
ribinclickanimation= (AnimationDrawable) imgclickanimation.getBackground();
然后单击TextView
我正在使用动画启动动画
ribinclickanimation.start();
clickframeanimation
是动画文件。
而ribinclickanimation
是AnimationDrawable
的对象
当我点击时它第一次正常工作,但是当我第二次点击时,没有任何事情可以让任何人建议我帮助。
* 代码:*
package com.example.tryfinal;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener
{
TextView imgclickanimation;
AnimationDrawable ribinclickanimation;//,ribinanimation;
int duration=200;
ScrollView scroll;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgclickanimation= (TextView) findViewById(R.id.imgclickanimation);
imgclickanimation.setOnClickListener(this);
imgclickanimation.setBackgroundResource(R.anim.clickframeanimation);
ribinclickanimation= (AnimationDrawable) imgclickanimation.getBackground();
}
public void onClick(View arg0)
{
if(arg0.getId()==imgclickanimation.getId())
{
imgclickanimation.setBackgroundResource(R.anim.clickframeanimation);
ribinclickanimation.start();
}
}
}
我的clickframeanimation.xml是:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/ribin3" android:duration="200" />
<item android:drawable="@drawable/ribin4" android:duration="200" />
<item android:drawable="@drawable/ribin3" android:duration="200" />
</animation-list>
答案 0 :(得分:3)
这是更新代码
package com.example.tryfinal;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ScrollView;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
TextView imgclickanimation;
AnimationDrawable ribinclickanimation;//,ribinanimation;
int duration=200;
ScrollView scroll;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgclickanimation= (TextView) findViewById(R.id.imgclickanimation);
imgclickanimation.setOnClickListener(this);
imgclickanimation.setBackgroundResource(R.anim.clickframeanimation);
ribinclickanimation= (AnimationDrawable) imgclickanimation.getBackground();
}
public void onClick(View arg0)
{
ribinclickanimation.stop();
if(arg0.getId()==imgclickanimation.getId())
{
imgclickanimation.setBackgroundResource(R.anim.clickframeanimation);//It will still work without this line. There is no need to set the resource again.
ribinclickanimation.start();
}
}
}