Android:TextView背景/文本颜色循环

时间:2013-02-12 17:47:22

标签: android ios xcode loops

注意:这个问题需要知道iOS开发才能回答。

我为我正在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中完成它一样。我知道它们是不同的语言,方法会有所不同。我以为我可能能够找到解决我的问题的方法,但是我失败了。有什么建议?提前谢谢!

1 个答案:

答案 0 :(得分: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);