Android启动页面定时跳转的三种方法

从我所做的项目来看,几乎都少不了开始页面,启动页面的作用能够打广告、发公告、做缓存处理、更新数据等等!Android实现开始页面的跳转,就是打开一个Android手机APP的欢迎界面后跳转到指定界面,下面就让我简单介绍下比较常用的开始页面的跳转方法吧。

一、在onCreate里设置个Timer,然后建立Intent指向你要调用的Activity。设置Timer 任意秒后执行startActivity即可!(Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务一次或反复多次)

 final Intent it = new Intent(this, Activity1.class); //你要转向的Activity
    Timer timer = new Timer();
    TimerTask task = new TimerTask() {
      @Override
      public void run() {
      startActivity(it); //执行
       }
     };
    timer.schedule(task, 1000 * 10); //10秒后

二、利用子线程在run方法中设置跳转,用Handler来执行。

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秒后关闭,并跳转到主页面
}
 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();
   }
  };
}

三、以动画形式(旋转、缩放等)作为开始页面,这种方法在项目中也是比较常用的,比第一种方法多了动画集,具体看代码注释!

开始动画页面布局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、监听动画播放完的事件,只是一处用到事件就用匿名类对象,多处声明成员变量用
    as.setAnimationListener(new AnimationListener() { 

      @Override
      public void onAnimationStart(Animation animation) { 

      } 

      @Override
      public void onAnimationRepeat(Animation animation) { 

      } 

      //监听动画播放完
      @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);//主界面 

        //关闭自己
        finish();
      }
    });
  } 

  /**
   * 开始播放动画:旋转,缩放,渐变
   */
  private void startAnimation() {
    // false 代表动画集中每种动画都采用各自的动画插入器(数字函数)
    as = new AnimationSet(false); 

    //旋转动画,锚点
    RotateAnimation ra = new RotateAnimation(
        0, 360,
        Animation.RELATIVE_TO_SELF, 0.5f,
        Animation.RELATIVE_TO_SELF,0.5f);//设置锚点为图片的中心点
    // 设置动画播放时间
    ra.setDuration(2000);
    ra.setFillAfter(true);//动画播放完之后,停留在当前状态  

    // 添加到动画集
    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); 

    // 动画播完进入下一个界面 :向导界面或者主界面
    //1、监听动画播放完的事件 

  } 

  private void initView() {
    // 设置主界面
    setContentView(R.layout.onemain); 

    // 获取背景图片
    iv_mainview = (ImageView) findViewById(R.id.iv_splash_mainview); 

  } 

} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能

    需要做一个仿淘宝客户端ViewPager滑动到最后一页,再拖动的时候跳到详情的功能,刚开始没什么思路,后来搜了一下,发现有好几种实现方法,最好的一种就是在ViewPager图片的后面再加一个view,然后滑动viewpager的时候,判断一下就行了. 附一个链接,我写的代码就是参考的这个,稍微改了一点点,先看看效果图. 实现起来比较简单,先写一个滑动加载详情的布局,然后在viewpager的instantiateItem里面判断一下,如果是最后一张,就显示加载详情的那个布局.不过需要注意的是,v

  • Android 实现页面跳转

    android使用Intent来实现页面跳转,Intent通过startActivity(Intent intent)或startActivityForResult(Intent intent,int resquestCode)方法来启动Activity,在新建Intent对象时来指定从A页面跳到B页面, 比如: Intent i = new Intent(A.this,B.class);这就表示从A页面跳到B页面, Intent对象通过调用putExtra方法来传递页面跳转时所需要传递的信息

  • Android应用自动跳转到应用市场详情页面的方法

    前言 众所周知在Android应用开发过程中,可能会有需求,比如:推广时跳转到应用市场下载应用,跳转到应用市场给自己的应用打分,跳转到应用市场更新自己的应用. 那如何跳转到应用市场呢? 可能跳转的方法大家都是知道的,方法如下: public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Int

  • Android viewpager在最后一页滑动之后跳转到主页面的实例代码

    先给大家说下实现思路 主要有是两个监听: 一是addOnPageChangeListener();二是setOnTouchListener(): addOnPageChangeListener()主要是为了获取position(滑动到了第几页) setOnTouchListener()主要是判断在最后一页中是否向左滑动了,然后进入主页 在没给大家分享代码之前,先给大家展示下效果图: 主要功能代码 addOnPageChangeListener(); viewPager.addOnPageChan

  • Android Activity中使用Intent实现页面跳转与参数传递的方法

    本文实例讲述了Android Activity中使用Intent实现页面跳转与参数传递的方法.分享给大家供大家参考,具体如下: 新建一个FirstAvtivity.java package com.zhuguangwei; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.O

  • Android如何跳转到应用商店的APP详情页面

    需求:从App内部点击按钮或链接,跳转到应用商店的某个APP的详情页面. 让用户 下载 或 评论. 实现: /** * 启动到应用商店app详情界面 * * @param appPkg 目标App的包名 * @param marketPkg 应用商店包名 ,如果为""则由系统弹出应用商店列表供用户选择,否则调转到目标市场的应用详情界面,某些应用商店可能会失败 */ public void launchAppDetail(String appPkg, String marketPkg)

  • Android中应用界面主题Theme使用方法和页面定时跳转应用

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格.在Android SDK中内置了下面的Theme,可以按标题栏Title Bar和状态栏Status Bar是否可见来分类:  复制代码 代码如下: android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式 android:theme="@android:style/Theme.NoTitleBar"

  • Android启动页面定时跳转的三种方法

    从我所做的项目来看,几乎都少不了开始页面,启动页面的作用能够打广告.发公告.做缓存处理.更新数据等等!Android实现开始页面的跳转,就是打开一个Android手机APP的欢迎界面后跳转到指定界面,下面就让我简单介绍下比较常用的开始页面的跳转方法吧. 一.在onCreate里设置个Timer,然后建立Intent指向你要调用的Activity.设置Timer 任意秒后执行startActivity即可!(Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务一次

  • Android开发之保存图片到相册的三种方法详解

    目录 方法一 方法二 方法三 有三种方法如下:三个方法都需要动态申请读写权限否则保存图片到相册也会失败 方法一 /** * 保存bitmap到本地 * * @param bitmap Bitmap */ public static void saveBitmap(Bitmap bitmap, String path) { String savePath; File filePic; if (Environment.getExternalStorageState().equals(Environm

  • Android实现按钮点击事件的三种方法总结

    目录 一.匿名内部类实现 二.接口实现 三.布局实现 Button是程序用于和用户进行交互的一个重要控件,相信大家对这个控件已经非常熟悉了,我们平时用的最多的控件之一.既然有Button,那肯定有onClick方法,下面就教大家三种实现点击事件的方法,大家选择一种自己喜欢的方式写就可以了. 我们先在layout文件里面放置一个Button控件,很简单,让它水平和垂直都居中,Button里面的文字也居中对齐,字体大小15sp,内容为“我是按钮”,具体代码如下: <RelativeLayout xm

  • android实现ViewPager懒加载的三种方法

    在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候ViewPager中本来充满善意的预加载就有点令人不爽了.我们能做的就是屏蔽掉ViewPager的预加载机制.虽然ViewPager中提供的有setOffscreenPageLimit()来控制其预加载的数目,但是当设置为0后我们发现其根本没效果,这个的最小值就是1,也就是你只能最少前后各预加载一页.那么,这时候

  • Vue-Router来实现组件间跳转的三种方法

    通过VueRouter来实现组件之间的跳转,供大家参考,具体内容如下 提供了3种方式实现跳转: ①直接修改地址栏中的路由地址 <!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> <!-- 引入文件 --> &

  • Vue-Router实现组件间跳转的三种方法

    通过VueRouter来实现组件之间的跳转,供大家参考,具体内容如下 提供了3种方式实现跳转: ①直接修改地址栏中的路由地址 <!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/vue.js"></script> <!-- 引入文件 --> &

  • Android开发笔记 改变字体颜色的三种方法

    1.在layout文件下的配置xml文件中直接设置字体颜色,通过添加android:textcolor="#FFFFFF"来变化颜色 但这样的效果只能让字体千篇一律的显示一种颜色 2.在activity中通过TextView tv=new TextView(this):实例化一个textview,通过setContentView(tv);将其加载到当前activity,设置要显示的内容String str="想要显示的内容":通过以下代码可以实现部分文本字体的改变,

  • Android应用闪屏页延迟跳转的三种写法

    闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据的时间.下面,是我总结的闪屏页的三种写法. 准备工作 打开Android Studio,新建一个projectMyStudy,新建一个SplashActivity并在清单文件中将其设置为启动Activity.在布局文件中将SplashActivity的背景设置为一张图片(可以是手机壁纸). <?xm

  • 各种页面定时跳转(倒计时跳转)代码总结

    下面对实现页面定时跳转(也称倒计时跳转)做一下总结,各种定时跳转代码记录如下: (1)使用setTimeout函数实现定时跳转(如下代码要写在body区域内) 复制代码 代码如下: <script type="text/javascript"> //3秒钟之后跳转到指定的页面 setTimeout(window.location.href='http://www.baidu.com',3); </script> (2)html代码实现,在页面的head区域块内加

  • 使用javascript实现页面定时跳转总结篇

    下面对使用JavaScript实现页面定时跳转(也称倒计时跳转)做一下总结,各种定时跳转代码记录如下: (1)使用 setTimeout 函数实现定时跳转(如下代码要写在body区域内) 复制代码 代码如下: <script type="text/javascript"> // 3秒钟之后跳转到指定的页面 setTimeout(window.location.href = "http://3aj.cn/javascript/19.html", 3); &

随机推荐