2015-07-17 1 views
-2

Я разрабатываю приложение, и я хочу сделать круг мигающим, когда вы нажмете на кнопку. У меня есть 8 кругов на мой взгляд, и я хочу, чтобы они мигали друг от друга. Я использую этот код:Мигает кружком с нитью и обработчиком, но невозможно остановить его

public void blink(final View id, final int position, final boolean bool) { 
     final Handler handler = new Handler(); 
     Thread th = new Thread(new Runnable() 
     { 
      @Override 
      public void run() { 
       final int timeToBlink = 250; 
       try { 
        Thread.sleep(timeToBlink); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       handler.post(new Runnable() 
       { 
        @Override 
        public void run() 
        { 
         if (id.getVisibility() == View.VISIBLE) { 
           id.setVisibility(View.INVISIBLE); 
          } else { 
           id.setVisibility(View.VISIBLE); 
          } 
         blink(id,position,true); 
        } 
       }); 
      } 
     }); 
     th.setName(Integer.toString(position)); 
     aThread.add(th); 
     th.start(); 

где идентификатор идентификатор окружности

, но я не могу перестать мигать с th.interupt

кто-то может помочь мне, пожалуйста?

+0

Добавить логическую переменную, чтобы заблокировать рекурсивный вызов мигания в потоке. – jibysthomas

+0

Я тестирую это, но не работаю – Paul

+1

Почему вы не можете попробовать с анимацией? когда вы закончили мигать, вы можете очистить мигающую анимацию с помощью clearAnimation(); Проверьте это http://stackoverflow.com/questions/4852281/android-how-can-i-make-a-button-flash – jibysthomas

ответ

1

Благодаря @jibysthomas я фиксируем мою проблему я использую this link и я сделал это:

final Animation animation = new AlphaAnimation(1, 0); 
     animation.setDuration(250); // duration - half a second 
     animation.setInterpolator(new LinearInterpolator()); 
     animation.setRepeatCount(Animation.INFINITE); 
     animation.setRepeatMode(Animation.REVERSE); 

и я называю это annimation на моем кругу.

Большое спасибо jibysthomas

 Смежные вопросы

  • Нет связанных вопросов^_^