重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
安卓实现同时多个倒计时效果的步骤:
成都创新互联公司专注于红花岗网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供红花岗营销型网站建设,红花岗网站制作、红花岗网页设计、红花岗网站官网定制、重庆小程序开发公司服务,打造红花岗网络公司原创品牌,更为您提供红花岗网站排名全网营销落地服务。
我们首先需要在输入框中输入一个秒数,比如:12,然后获取输入框中的值,显示在一个TextView中;
点击“开始倒计时”按钮,每隔一秒钟,秒数减1,然后显示在TextView中;
点击“停止倒计时”按钮,计时器停止运行,当再次点击“开始倒计时”按钮,计时器继续运行。
平时用的每个商品都应该有两个属性值,这里叫它deadLine和isOverdue吧,表示商品的到期时间和是否到期,那么倒计时可以考虑这么实现:设置一个主计时器,每隔1秒发出消息告诉GridView现在的时间,GridView的Item获得这个时间之后就和deadLine比较,如果已经到deadline了,就把数据源中的这项标记成已到期(修改isOverdue的值为true);没到deadline,就计算还差多少时间,显示到GridView的Item里。
1、美图倒数日
美图倒数日,一款十分方便的倒计时实用软件,在这里你可以将每个重要的日子都记录下来,添加记录后你也可以在桌面添加一个小工具,随时都能够在这里查看记录日期。
2、天天计时
天天计时(Multi Timer:Time Helper)是一款精确度十分高的计时服务软件,时间的记录管理可以让你养成更好的习惯,你可以使用这款软件记录每日的工作、节日、纪念日等等内容,感兴趣的朋友快来下载。
3、日期倒计时
日期倒计时是一款极简风的日期记录软件,支持进行多种内容、格式记录,同时提醒的铃声以及内容都是可以进行自由设置的,软件也提供了多种主题供用户进行挑选。
4、小时光
生活是需要一定仪式感的,比如跨年的那一刻、你生日的那一刻,都可以用这款小时光app来进行倒计时!操作起来没有任何的难度,意义十足,喜欢的小伙伴快来试一试!
5、网红生日倒计时
网红生日倒计时制作器要不要来了解一下呢!想要完成这个东西其实只要下载视+AR就可以进行制作了。
Android实现计时与倒计时的五种方法:
方法一
Handler与Message(不用TimerTask)
public class timerTask extends Activity{
private int recLen = 11;
private TextView txtView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);
Message message = handler.obtainMessage(1); // Message
handler.sendMessageDelayed(message, 1000);
}
final Handler handler = new Handler(){
public void handleMessage(Message msg){ // handle message
switch (msg.what) {
case 1:
recLen--;
txtView.setText("" + recLen);
if(recLen 0){
Message message = handler.obtainMessage(1);
handler.sendMessageDelayed(message, 1000); // send message
}else{
txtView.setVisibility(View.GONE);
}
}
super.handleMessage(msg);
}
};
}
linux
方法二
Handler与Thread(不占用UI线程)
public class timerTask extends Activity{
private int recLen = 0;
private TextView txtView;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);
new Thread(new MyThread()).start(); // start thread
}
final Handler handler = new Handler(){ // handle
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
recLen++;
txtView.setText("" + recLen);
}
super.handleMessage(msg);
}
};
public class MyThread implements Runnable{ // thread
@Override
public void run(){
while(true){
try{
Thread.sleep(1000); // sleep 1000ms
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}catch (Exception e) {
}
}
}
}
}
方法三
Timer与TimerTask(Java实现)
public class timerTask extends Activity{
private int recLen = 11;
private TextView txtView;
Timer timer = new Timer();
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);
timer.schedule(task, 1000, 1000); // timeTask
}
TimerTask task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() { // UI thread
@Override
public void run() {
recLen--;
txtView.setText(""+recLen);
if(recLen 0){
timer.cancel();
txtView.setVisibility(View.GONE);
}
}
});
}
};
}
方法四
TimerTask与Handler(不用Timer的改进型)
public class timerTask extends Activity{
private int recLen = 11;
private TextView txtView;
Timer timer = new Timer();
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);
timer.schedule(task, 1000, 1000); // timeTask
}
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
switch (msg.what) {
case 1:
txtView.setText(""+recLen);
if(recLen 0){
timer.cancel();
txtView.setVisibility(View.GONE);
}
}
}
};
TimerTask task = new TimerTask() {
@Override
public void run() {
recLen--;
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
}
方法五
Handler与Runnable(最简单型)
public class timerTask extends Activity{
private int recLen = 0;
private TextView txtView;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.timertask);
txtView = (TextView)findViewById(R.id.txttime);
handler.postDelayed(runnable, 1000);
}
Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
recLen++;
txtView.setText("" + recLen);
handler.postDelayed(this, 1000);
}
};
}
计时与倒计时
方法1,方法2和方法3,都是倒计时
方法4,方法5,都是计时
计时和倒计时,都可使用上述方法实现(代码稍加改动)
UI线程比较
方法1,方法2和方法3,都是在UI线程实现的计时;
方法4和方法5,是另开Runnable线程实现计时
实现方式比较
方法1,采用的是Java实现,即Timer和TimerTask方式;
其它四种方法,都采用了Handler消息处理
推荐使用
如果对UI线程交互要求不很高,可以选择方法2和方法3
如果考虑到UI线程阻塞,严重影响到用户体验,推荐使用方法4,另起线程单独用于计时和其它的逻辑处理
方法5,综合了前几种方法的优点,是最简的
最简单的两种方法吧
开启一个定时器 (timer 、 countDownTimer) 然后每隔1s 通过handler 让button 里面的文字改变一下 就是倒计时了
基本跟第一个相同。自定义一个类 继承button 然后 里面写定时器 settext()
倒计时软件一直都是个人管理或者时间管理的重要软件,本文将为大家整理五款现在很火的倒计时软件,希望能帮助到大家,仅供参考。
高考倒计时锁屏软件
倒计时软件和锁屏软件的完美结合,除了精确到秒倒计时这一基础功能外,可自定义正/倒计时目标和励志语,壁纸也是多种多样。软件内还内置了多项高考相关功能,包括选科系统、资讯系统以及知识点,相比其他人群,可以说是为高中生量身定做的倒计时软件了。
倒计时 - 记录追踪重要日程
人生匆匆,时光飞逝。无论工作还是生活,总有些日子值得我们一辈子铭记。
倒计时可以帮你将重要的日子进行分类管理,并显示距离这些日子还有多久。
它还可以为你提供近10年的重要节日,让你准确定位;同时它也提供了多种提醒选项,并重复提醒你。有了倒计时,你将不会错失那些重要的日子。
Hurry 软件
Hurry是一款新鲜上架的倒数日倒计时应用,满足那些心急焦虑的同学,还能配上来自GIPHY的动画图片。桌面小部件 Widgets 能够显示精确到秒的倒计时。
Hurry 让 GIF 当事件图片这件事还是挺有创意的,每当你打开一个具体的倒计时,顶部就有动画在动,当然你也可以换成自己的照片。
Timebound软件
Timebound是一款用倒计时来显示 todo 任务的 iPhone、Android 应用,与传统的截止日期方式不同,倒计时会给你更加强烈的紧迫感,提高生产力。提醒功能也是使用倒计时模式,比如还有 1 个小时 10 分钟提醒我,还有 2 天提醒我。忽略掉了具体日期、时间,转而使用更加明确的倒计时时间,非常有意思,支持设置多个提醒。
最美时光软件
最美时光可以帮你计算出来、记录下来,定时提醒你,还可以作为精美的图片分享出去。最美时光为用户提供了感情化的外观。文字与图片的相互交融,一个个日期,不再只是冰冷的数字;上下滑动还能切换不同的时间模式,每一个纪念日都更具立体感。
最美图库收藏了由设计师精选的高品质图片,每一张都是一个故事。
安卓实现同时多个倒计时效果的步骤:
我们首先需要在输入框中输入一个秒数,比如:12,然后获取输入框中的值,显示在一个TextView中;
点击“开始倒计时”按钮,每隔一秒钟,秒数减1,然后显示在TextView中;
点击“停止倒计时”按钮,计时器停止运行,当再次点击“开始倒计时”按钮,计时器继续运行。
平时用的每个商品都应该有两个属性值,这里叫它deadLine和isOverdue吧,表示商品的到期时间和是否到期,那么倒计时可以考虑这么实现:设置一个主计时器,每隔1秒发出消息告诉GridView现在的时间,GridView的Item获得这个时间之后就和deadLine比较,如果已经到deadline了,就把数据源中的这项标记成已到期(修改isOverdue的值为true);没到deadline,就计算还差多少时间,显示到GridView的Item里。