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

 更新时间:2016年11月15日 15:29:05   作者:zsml2016  
这篇文章主要介绍了Android启动页面定时跳转的三种方法,实现打开一个Android手机APP的欢迎界面后跳转到指定界面的效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

从我所做的项目来看,几乎都少不了开始页面,启动页面的作用能够打广告、发公告、做缓存处理、更新数据等等!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); 
 
  } 
 
     
   
   
} 

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

相关文章

  • Android下拉刷新框架实现代码实例

    Android下拉刷新框架实现代码实例

    这篇文章主要介绍了Android下拉刷新框架实现代码实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Android开发之Activity详解

    Android开发之Activity详解

    本文是翻译的官方文档的内容,看起来可能会有些生硬,但是内容很有用,给大家一个参考,希望对大家学习有所帮助。
    2016-06-06
  • TextView显示系统时间(时钟功能带秒针变化

    TextView显示系统时间(时钟功能带秒针变化

    用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间,可以做一个时钟的功能
    2013-11-11
  • Android Gradle同步优化详解

    Android Gradle同步优化详解

    这篇文章主要为大家介绍了Android Gradle同步优化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android使用硬件加速的方式

    Android使用硬件加速的方式

    硬件加速是指利用设备的硬件资源来加速图形渲染和图像处理等操作,以提高应用程序的性能和用户体验,Android使用硬件加速的目的是为了提高图形渲染的性能和效果,本文给大家详细介绍了Android如何使用硬件加速,需要的朋友可以参考下
    2023-10-10
  • Android 修改adb端口的方法

    Android 修改adb端口的方法

    今天小编就为大家分享一篇Android 修改adb端口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Android自定义View实现星星评分效果

    Android自定义View实现星星评分效果

    这篇文章主要为大家详细介绍了Android如何利用自定义View实现一个星星评分的控件,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-11-11
  • Android Application的使用全面解析

    Android Application的使用全面解析

    这篇文章主要为大家介绍了Android Application的使用全面解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android使用DrawerLayout实现侧滑菜单效果

    Android使用DrawerLayout实现侧滑菜单效果

    这篇文章主要为大家详细介绍了Android使用DrawerLayout实现侧滑菜单效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 使用SharedPreferences在Android存储对象详细代码

    使用SharedPreferences在Android存储对象详细代码

    这篇文章主要介绍了使用SharedPreferences在Android存储对象并附上详细代码,下面文章内容较少,大多以代码的形式体现,需要的小伙伴可以参考一下,希望对你有所帮助
    2021-11-11

最新评论