Android啟動頁面定時跳轉(zhuǎn)的三種方法
從我所做的項目來看,幾乎都少不了開始頁面,啟動頁面的作用能夠打廣告、發(fā)公告、做緩存處理、更新數(shù)據(jù)等等!Android實現(xiàn)開始頁面的跳轉(zhuǎn),就是打開一個Android手機APP的歡迎界面后跳轉(zhuǎn)到指定界面,下面就讓我簡單介紹下比較常用的開始頁面的跳轉(zhuǎn)方法吧。
一、在onCreate里設(shè)置個Timer,然后建立Intent指向你要調(diào)用的Activity。設(shè)置Timer 任意秒后執(zhí)行startActivity即可?。═imer是一種定時器工具,用來在一個后臺線程計劃執(zhí)行指定任務(wù),它可以計劃執(zhí)行一個任務(wù)一次或反復多次)
final Intent it = new Intent(this, Activity1.class); //你要轉(zhuǎn)向的Activity Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { startActivity(it); //執(zhí)行 } }; timer.schedule(task, 1000 * 10); //10秒后
二、利用子線程在run方法中設(shè)置跳轉(zhuǎn),用Handler來執(zhí)行。
public class WelcomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { <span style="white-space:pre"> </span>// TODO Auto-generated method stub <span style="white-space:pre"> </span>super.onCreate(savedInstanceState); <span style="white-space:pre"> </span>setContentView(R.layout.welcome); <span style="white-space:pre"> </span>new Handler().postDelayed(r, 1000);// 1秒后關(guān)閉,并跳轉(zhuǎn)到主頁面 } Runnable r = new Runnable() { @Override public void run() { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(WelcomeActivity.this, MainActivity.class); startActivity(intent); finish(); } }; }
三、以動畫形式(旋轉(zhuǎn)、縮放等)作為開始頁面,這種方法在項目中也是比較常用的,比第一種方法多了動畫集,具體看代碼注釋!
開始動畫頁面布局splashMain.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/iv_splash_mainview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/splash_bg" android:src="@drawable/splash_sheep_n" /> </LinearLayout>
開始動畫頁面splashActivity.java
public class <span style="font-family: Arial, Helvetica, sans-serif;">splash</span><span style="font-family: Arial, Helvetica, sans-serif;">Activity extends Activity {</span> private ImageView iv_mainview; private AnimationSet as; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //去掉標題 //requestWindowFeature(Window.FEATURE_NO_TITLE); initView();// 初始化界面 startAnimation();//開始播放動畫 initEvent();//初始化事件 } private void initEvent() { //1、監(jiān)聽動畫播放完的事件,只是一處用到事件就用匿名類對象,多處聲明成員變量用 as.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } //監(jiān)聽動畫播放完 @Override public void onAnimationEnd(Animation animation) { // Intent main = new Intent(<span style="font-family: Arial, Helvetica, sans-serif;">splash</span><span style="font-family: Arial, Helvetica, sans-serif;">Activity </span><span style="font-family: Arial, Helvetica, sans-serif;">.this,MainActivity.class);</span> startActivity(main);//主界面 //關(guān)閉自己 finish(); } }); } /** * 開始播放動畫:旋轉(zhuǎn),縮放,漸變 */ private void startAnimation() { // false 代表動畫集中每種動畫都采用各自的動畫插入器(數(shù)字函數(shù)) as = new AnimationSet(false); //旋轉(zhuǎn)動畫,錨點 RotateAnimation ra = new RotateAnimation( 0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);//設(shè)置錨點為圖片的中心點 // 設(shè)置動畫播放時間 ra.setDuration(2000); ra.setFillAfter(true);//動畫播放完之后,停留在當前狀態(tài) // 添加到動畫集 as.addAnimation(ra); // 漸變動畫 AlphaAnimation aa = new AlphaAnimation(0, 1);//由完全透明到不透明 // aa.setDuration(2000); aa.setFillAfter(true);// // as.addAnimation(aa); // 縮放動畫 ScaleAnimation sa = new ScaleAnimation( 0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // sa.setDuration(2000); sa.setFillAfter(true);// // as.addAnimation(sa); // 播放動畫 iv_mainview.startAnimation(as); // 動畫播完進入下一個界面 :向?qū)Ы缑婊蛘咧鹘缑? //1、監(jiān)聽動畫播放完的事件 } private void initView() { // 設(shè)置主界面 setContentView(R.layout.onemain); // 獲取背景圖片 iv_mainview = (ImageView) findViewById(R.id.iv_splash_mainview); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android?studio?利用共享存儲進行用戶的注冊和登錄驗證功能
- Android Studio實現(xiàn)QQ的注冊登錄和好友列表跳轉(zhuǎn)
- Android Studio+Servlet+MySql實現(xiàn)登錄注冊
- Android Studio連接MySql實現(xiàn)登錄注冊(附源代碼)
- Android Studio連接SQLite數(shù)據(jù)庫的登錄注冊實現(xiàn)
- Android使用Intent顯示實現(xiàn)頁面跳轉(zhuǎn)
- Android Intent實現(xiàn)頁面跳轉(zhuǎn)的兩種方法
- Android 接收推送消息跳轉(zhuǎn)到指定頁面的方法
- Android實現(xiàn)外部喚起應(yīng)用跳轉(zhuǎn)指定頁面的方法
- Android Studio實現(xiàn)注冊頁面跳轉(zhuǎn)登錄頁面的創(chuàng)建
相關(guān)文章
雙緩沖技術(shù)實現(xiàn)Android 畫板應(yīng)用
這篇文章主要介紹了Android 采用雙緩存技術(shù)實現(xiàn)畫板應(yīng)用的相關(guān)資料,并附有代碼實例,有需要的小伙伴可以參考下2016-07-07Android 仿高德地圖可拉伸的BottomSheet的示例代碼
這篇文章主要介紹了Android 仿高德地圖可拉伸的BottomSheet的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07android 網(wǎng)絡(luò)請求庫volley方法詳解
這篇文章主要介紹了android 網(wǎng)絡(luò)請求庫volley方法詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09SafeList?in?Flutter?and?Dart小技巧
這篇文章主要為大家介紹了SafeList?in?Flutter?and?Dart小技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12Android ViewPager實現(xiàn)左右滑動的實例
這篇文章主要介紹了Android ViewPager實現(xiàn)左右滑動的實例的相關(guān)資料,這里提供實現(xiàn)代碼實現(xiàn)左右滑動的功能,希望能幫助到大家,需要的朋友可以參考下2017-08-08