我有一个按钮,我希望它的文字显示1秒然后消失1秒,循环6秒,这是我试过的:
for(int i = 0 ; i < 6 ; i++) {
button.setTextSize(18);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
button.setTextSize(0);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
首先看来按钮的文字大小变为36而不是18,
第二个是它没有按照我的预期行事,从不显示文字,
注意:从开头的文字大小为0。
我怎样才能做到这一点?
答案 0 :(得分:3)
不是使用PendingIntent pendingIntent = PendingIntent.getBroadcast(getContext(), IdCount, intent, PendingIntent.FLAG_ONE_SHOT);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, FutureTimeMillis, pendingIntent);
阻止线程,而是可以使用Thread.sleep(1000)
发布延迟后1秒钟使其显示并发布另一个以使其消失。
handler
答案 1 :(得分:3)
okey如你所说,你只想让你的TextView
眨眼,这就是你能做的。
在名为&#34; anim&#34;的res
下的文件夹上创建,现在在该文件下创建一个xml文件
blink.xml 并将此代码复制到其中。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="1000"
android:repeatMode="reverse"
android:repeatCount="infinite" />
</set>
现在,在Java类中,只需将此动画应用于TextView
Animation anim = AnimationUtils.loadAnimation(getActivity(),
R.anim.blink);
yourtextview.startAnimation(anim);
完成。
答案 2 :(得分:3)
这个简单的代码可以帮助你眨眼文本视图:
final String text = yourTextView.getText().toString();
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (yourTextView.getText().length() == 0) {
yourTextView.setText(text);
} else {
yourTextView.setText("");
}
}
});
}
};
Timer timer = new Timer();
timer.scheduleAtFixedRate(timerTask,1000,1000);