以下のようにボタンを押すとimageviewの色が変わる様なアニメーションを指示しておりますが、例えばこのid=startのボタンが連続で押されると、またアニメーションが最初から起動してしまいます。(当たり前といえば当たり前なのですが)
質問したい内容として、例えば連続で同じボタンを押した時に、同じボタンの場合は最初からアニメーションがスタートしない。つまり、同じ信号の場合は無視する、のような指示をしたいと考えております。
コードも汚いですし、無知で申し訳ないのですが、もしもやり方をご存知でしたらお伺い出来ますと幸いです。
何卒よろしくお願いいたします。
lang
1 setContentView(R.layout.activity_main); 2 image = (ImageView) findViewById(R.id.image); 3 4 btnStart = (Button) findViewById(R.id.start); 5 btnStart.setOnClickListener(new View.OnClickListener(){ 6 7 @Override 8 public void onClick(View v) { 9 startColorAnimation(image); 10 }}); 11 12 btnStart = (Button) findViewById(R.id.start1); 13 btnStart.setOnClickListener(new View.OnClickListener(){ 14 15 @Override 16 public void onClick(View v) { 17 startColorAnimation1(image); 18 }}); 19 20
lang
1 public void startColorAnimation(View view){ 2 int colorStart = 0xFFffffff; 3 int colorEnd = 0xFF000000; 4 5 ValueAnimator colorAnim = ObjectAnimator.ofInt( 6 view, "backgroundColor", colorStart, colorEnd); 7 colorAnim.setDuration(2000); 8 colorAnim.setEvaluator(new ArgbEvaluator()); 9 colorAnim.setRepeatCount(100); 10 colorAnim.setRepeatMode(ValueAnimator.REVERSE); 11 colorAnim.start(); 12 } 13 public void startColorAnimation1(View view){ 14 int colorStart = 0xfff53b6d; 15 //int colorStart = view.getSolidColor(); 16 int colorEnd = 0xFF000000; 17 18 ValueAnimator colorAnim = ObjectAnimator.ofInt( 19 view, "backgroundColor", colorStart, colorEnd); 20 colorAnim.setDuration(2000); 21 colorAnim.setEvaluator(new ArgbEvaluator()); 22 colorAnim.setRepeatCount(100); 23 colorAnim.setRepeatMode(ValueAnimator.REVERSE); 24 colorAnim.start(); 25 } 26
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/18 03:09