android實現(xiàn)App活動定時自動跳轉效果
更新時間:2017年02月17日 08:23:36 作者:小黃鴨會發(fā)光丶
本篇文章主要介紹了android實現(xiàn)App活動定時自動跳轉效果,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
App的小功能點,很簡單幾十行代碼就可以實現(xiàn)
主頁面代碼
package com.buildingbuilding; import android.content.Intent; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.WindowManager; import android.widget.TextView; import com.buildingbuilding.activitys.BuildingActivity; public class MainActivity extends AppCompatActivity { private TextView textView; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what != 0) { textView.setText(msg.what + "秒后進入APP"); } else { Intent intent = new Intent(MainActivity.this, BuildingActivity.class); startActivity(intent); finish(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { //全屏顯示 getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); textView = (TextView) findViewById(R.id.textView); textView.setText("布丁布丁"); new CountDown().start(); } //進入APP倒計時 class CountDown extends Thread { int count = 3; @Override public void run() { try { while (count >= 0) { sleep(1000); Message message = new Message(); message.what = count; handler.sendMessage(message); count--; } } catch (InterruptedException e) { e.printStackTrace(); } } } }
基本思路就是,通過一個計時線程來控制主線程(即UI線程)來更新UI
通過Handler來接受來自計時線程的Message
private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what != 0) { textView.setText(msg.what + "秒后進入APP"); } else { Intent intent = new Intent(MainActivity.this, BuildingActivity.class); startActivity(intent); finish(); } } };
2.計時線程(內部類),設置每隔1秒睡一次,共3秒
//進入APP倒計時 class CountDown extends Thread { int count = 3; @Override public void run() { try { while (count >= 0) { sleep(1000); Message message = new Message(); message.what = count; handler.sendMessage(message); count--; } } catch (InterruptedException e) { e.printStackTrace(); } } }
3.最后別忘了在init()方法中啟動線程
private void init() { //全屏顯示 getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); textView = (TextView) findViewById(R.id.textView); textView.setText("布丁布丁"); new CountDown().start(); }
OK,現(xiàn)在基本都完成了,來看效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用Android Studio 開發(fā)自己的SDK教程
很多時候我們要將自己開發(fā)一個類庫打包成jar包以供他調用,這個jar包也叫你自己的SDK或者叫l(wèi)ibrary。android studio生成jar包的方法與eclipse有所不同。在studio中l(wèi)ibrary其實是module的概念。2017-10-10Android加載對話框同時異步執(zhí)行實現(xiàn)方法
Android中通過子線程連接網(wǎng)絡獲取資料,同時顯示加載進度對話框給用戶的操作2012-11-11Android應用借助LinearLayout實現(xiàn)垂直水平居中布局
這篇文章主要介紹了Android應用借助LinearLayout實現(xiàn)垂直水平居中布局的方法,文中列舉了LinearLayout線性布局下居中相關的幾個重要參數(shù),需要的朋友可以參考下2016-04-04手勢滑動結束Activity基本功能的實現(xiàn)(一)
這篇文章主要為大家詳細介紹了手勢滑動結束Activity基本功能的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Android中AnimationDrawable使用的簡單實例
這篇文章介紹了Android中AnimationDrawable使用的簡單實例,有需要的朋友可以參考一下2013-10-10