如何实现闪屏页面 || 循环执行任务
2016-01-20 09:39
381 查看
如何实现闪屏页面 || 循环执行任务
ONE Goal ,ONE Passion !一般软件在进入程序前一般都会有2s时间显示自己的logo(如微信)或者是广告(黑一下uc).
一. 定时执行任务:(2种方法)
1. 使用 CountDownTimer ;
public class HandlerActivity extends Activity { private MyCount mc; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mc = new MyCount(30000, 1000); mc.start(); //30000ms是倒计时的时间.1000ms是间隔的时间 } /* 定义一个倒计时的内部类 */ class MyCount extends CountDownTimer { public MyCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } //开始计时时执行的操作 @Override public void onTick(long millisUntilFinished) { System.out.println("开始计时"); Toast.makeText(getApplicationContext(), millisUntilFinished / 1000 + "", Toast.LENGTH_LONG).show(); } //计时结束后执行的任务 @Override public void onFinish() { System.out.println("完成"); } } }
2.使用 Handler + postDelayed方法
new Handler().postDelayed(new Runnable(){ @Override public void run(){ //要执行的任务 Intent intent = new Intent(mContext,要开启的activity); startActivity(intent); } },3000);
二 . TimerTask + Timer + Handler循环执行任务 (一般用于轮询)
public class TimerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myTimerTask task = new myTimerTask (); Timer timer = new Timer(); timer.schedule(task, 1000, 1000); // 1s后执行task,经过1s再次执行 } // 循环的任务 private class myTimerTask extends TimerTask { @Override public void run() { // 需要做的事:发送消息 Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; // Handler来处理任务 Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 1) { //闪屏结束进入主界面 } super.handleMessage(msg); }; }; } 另: TimerTask + Timer也可实现闪屏,定义一个全局的time=3s. private class TimerTask extends TimerTask { @Override public void run() { time--; if(time<=0){ //执行任务 } } };
轮询,定时执行任务的方法有很多种.以上3种完全够用了.以后有需要会再去补充的.
相关文章推荐
- 获取屏幕宽和高的两种方法
- 理解Swift中Optional类型-有和无的哲学
- jquery plugins —— Chosen
- 冬季小学期 澄迈NIIT公司 web前端培训 第一天
- vim乱码问题
- Drupal常用开发工具(二)——Drupal for Firebug
- jQueryRegLogin弹出可拖动的登录和注册
- 【iOS】Plist-XML-JSON数据解析
- SQL事务的四种隔离级别
- sublime好看的主题
- JQuery日历插件My97DatePicker日期范围限制
- POJ 2392 Space Elevator(带限制条件的多重背包)
- 查看python已安装模块的方法小结
- 笔记
- Xcode 编译运行每次输入用户名密码
- #pragma pack(n)和__attribute__((aligned(m)))的区别
- Android利用webView调用JavaScript
- 缓存机制--笔记
- 实践干货!猿题库 iOS 客户端架构设计
- 响应式初认识