同じ指示の時は、アニメーションへの指示を無視したい。
以下のようにボタンを押すとimageviewの色が変わる様なアニメーションを指示しておりますが、例えばこのid=startのボタンが連続で押されると、またアニメーションが最初から起動してしまいます。(当たり前といえば当たり前なのですが)
質問したい内容として、例えば連続で同じボタンを押した時に、同じボタンの場合は最初からアニメーションがスタートしない。つまり、同じ信号の場合は無視する、のような指示をしたいと考えております。
コードも汚いですし、無知で申し訳ないのですが、もしもやり方をご存知でしたらお伺い出来ますと幸いです。
何卒よろしくお願いいたします。
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.image);
btnStart = (Button) findViewById(R.id.start);
btnStart.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startColorAnimation(image);
}});
btnStart = (Button) findViewById(R.id.start1);
btnStart.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startColorAnimation1(image);
}});
や
public void startColorAnimation(View view){
int colorStart = 0xFFffffff;
int colorEnd = 0xFF000000;
ValueAnimator colorAnim = ObjectAnimator.ofInt(
view, "backgroundColor", colorStart, colorEnd);
colorAnim.setDuration(2000);
colorAnim.setEvaluator(new ArgbEvaluator());
colorAnim.setRepeatCount(100);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();
}
public void startColorAnimation1(View view){
int colorStart = 0xfff53b6d;
//int colorStart = view.getSolidColor();
int colorEnd = 0xFF000000;
ValueAnimator colorAnim = ObjectAnimator.ofInt(
view, "backgroundColor", colorStart, colorEnd);
colorAnim.setDuration(2000);
colorAnim.setEvaluator(new ArgbEvaluator());
colorAnim.setRepeatCount(100);
colorAnim.setRepeatMode(ValueAnimator.REVERSE);
colorAnim.start();
}