2013-02-12 2 views
-1

ВНИМАНИЕ: для ответа на этот вопрос требуется знание iOS.Android: TextView Background/Text Color Loop

Я создал функцию вспышки экрана для приложения, которое я создаю в среде Xcode. Экран мигает следующим образом:

Фон белый, с красным текстом .... фон красный, с белым текстом, с интервалом 0,25 сек.

Вспышка срабатывает непрерывно, пока пользователь не коснется экрана, чтобы двигаться вперед в приложении. Вот код, который я использовал для достижения этой цели:

@interface OrderCashButtonSignal : UIViewController 

@property (weak, nonatomic) IBOutlet UILabel *orderCashLabel; 
@property (strong, nonatomic) NSTimer *colorTimer; 


@end 

    - (void)viewDidLoad 
{ 
[super viewDidLoad]; 

self.orderCashLabel.backgroundColor = [UIColor whiteColor]; 
self.orderCashLabel.textColor = [UIColor redColor]; 
self.colorTimer = [NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(changeColor) userInfo:nil repeats:YES]; 

} 

(void)changeColor{ 

[UIView animateWithDuration:0.25 animations:^{ 

    if ([self.orderCashLabel.backgroundColor isEqual:[UIColor whiteColor]]&&[self.orderCashLabel.textColor isEqual:[UIColor redColor]]) { 
     self.orderCashLabel.backgroundColor = [UIColor redColor]; 
     self.orderCashLabel.textColor = [UIColor whiteColor]; 
    } 
    else{ 

     self.orderCashLabel.backgroundColor = [UIColor whiteColor]; 
     self.orderCashLabel.textColor = [UIColor redColor]; 

    } 


}]; 


    } 

Я пытался имитировать это поведение в Eclipse, для моей Android версии этого приложения, но не могу понять, как реализовать таймер и метод changeColor вместе, как я это сделал в Xcode. Я понимаю, что они разные языки, и методы будут разными. Я думал, что смогу найти путь к платформе Android и решить свою проблему, но я потерпел неудачу. Какие-либо предложения? Заранее спасибо!

+1

Гм, где ваш Android код, который у вас возникли проблемы с? –

+0

У меня не было респектабельного кода для Android. Я играл с некоторыми методами, но придумал ничего хорошего. Итак, я просто добавил код iOS, чтобы привести пример того, что я пытался выполнить. Сожалею! – embersofadyingfire

+0

Разве андерсер не помог вам? – EMarci15

ответ

1

Переменные:

Timer timer = new timer(); 
    boolean b = true; 

Набор в XML android:background собственности #FFFFFF и android:textColor в #FF0000. В OnCreate() вставить:

timerStep = new TimerTask() { 

     @Override 
     public void run() { 
      runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
        TextView t = (TextView) findViewById(R.id.YourDefinedTextViewID); 
       if (b) { 
        t.setBackgroundColor(Color.RED); 
        t.setTextColor(Color.WHITE); 
        b=false; 
       } else { 
        t.setBackgroundColor(Color.WHITE); 
        t.setTextColor(Color.RED); 
        b=true; 
       } 
       } 
      } 
     } 
}; 
timer.schedule(timerStep,250,250); 
+0

Но скажите большое спасибо за полный код;) – EMarci15