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即可!(Timer是一種定時器工具,用來在一個后臺線程計劃執(zhí)行指定任務(wù),它可以計劃執(zhí)行一個任務(wù)一次或反復(fù)多次)
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);
//去掉標(biāo)題
//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);//動畫播放完之后,停留在當(dāng)前狀態(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 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-07
Android 仿高德地圖可拉伸的BottomSheet的示例代碼
這篇文章主要介紹了Android 仿高德地圖可拉伸的BottomSheet的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
android 網(wǎng)絡(luò)請求庫volley方法詳解
這篇文章主要介紹了android 網(wǎng)絡(luò)請求庫volley方法詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09
SafeList?in?Flutter?and?Dart小技巧
這篇文章主要為大家介紹了SafeList?in?Flutter?and?Dart小技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
Android ViewPager實現(xiàn)左右滑動的實例
這篇文章主要介紹了Android ViewPager實現(xiàn)左右滑動的實例的相關(guān)資料,這里提供實現(xiàn)代碼實現(xiàn)左右滑動的功能,希望能幫助到大家,需要的朋友可以參考下2017-08-08

