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