Android启动页面定时跳转的三种方法_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); 

  } 

} 

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索Android页面跳转
页面定时跳转、js定时跳转到指定页面、js定时跳转页面、php定时跳转页面、html定时跳转页面,以便于您获取更多的相关知识。

时间: 2024-08-01 21:53:04

Android启动页面定时跳转的三种方法_Android的相关文章

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

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

Android新特性页面之ViewPager拖拽到最后一页再拖拽打开其他Activity(三种方法)_Android

 android新特性页面,ViewPager拖拽到最后一页再拖拽打开其他Activity.实现的方式有很多,效果比较好的就是到了最后一页再拖拽出现禁止蓝色条时再跳转activity 方式一:拿到ViewPager的边界条EdgeEffectCompat,判断是否到了边界(获取EdgeEffectCompat通过反射,方法来自网络最后边会给出原文) /** * 初始化view */ private void initView(){ pager = (ViewPager) findViewById

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

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

Android 实现图片模糊、高斯模糊、毛玻璃效果的三种方法_Android

在前几天写过一个使用glide-transformations的方法实现高斯模糊的方法,今天偶然间有发现一个大神写的另一个方法,感觉挺不错的,分享一下: 效果图: 原文链接:点击访问 这使用也很简单,导入依赖,使用模糊方法就行,就这两步搞定 依赖: compile 'net.qiujuer.genius:blur:2.0.0-beta4' 实现方法有三种,第一个是Java实现的,第二个和第三个是调用C语言实现的 ,具体的区别也就是代码执行的耗时操作时间,从图片中可以看出Java使用时间远大于c运

Android中使用定时器的三种方法_Android

本文实例为大家分享了Android中使用定时器的三种方法,供大家参考,具体内容如下 图示: 因为都比较简单,所以就直接贴代码(虑去再次点击停止的操作),有个全局的Handler负责接收消息更新UI 第一种方法:Thread.sleep();方法 Runnable runnable = new Runnable() { @Override public void run() { while (true) { mHandler.sendEmptyMessage(0); try { Thread.sl

Android实现图片轮播效果的两种方法_Android

大家在使用APP的过程中,经常会看到上部banner图片轮播的效果,那么今天我们就一起来学习一下,android中图片轮询的几种实现方法: 第一种:使用动画的方法实现:(代码繁琐) 这种发放需要:两个动画效果,一个布局,一个主类来实现,不多说了,来看代码吧: public class IamgeTrActivity extends Activity { /** Called when the activity is first created. */ public ImageView image

PHP页面跳转的三种方法

Web系统中,从一个网页跳转到另一个网页,是项目中最常用的技术之一. 页面跳转可能是由于用户单击链接.按钮等引发的,也可能是系统自动产生的. 此处介绍PHP中常用的实现页面自动跳转的方法. PHP页面跳转一.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法. header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header()函数的定义如下: void header (string string [,bool replace [,

PHP 页面跳转的三种方法汇总

如何在PHP中从一个页面重定向到另外一个页面呢?这里列出了三种办法,供参考. 如何在PHP中从一个页面重定向到另外一个页面呢?这里列出了三种办法,供参考. 一.用HTTP头信息 也就是用PHP的HEADER函数.PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等.

Android中通过外部程序启动App的三种方法_Android

第一种:直接通过包名: 复制代码 代码如下: Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.joyodream.jiji");                 startActivity(LaunchIntent); 第二种:通过自定义的Action 复制代码 代码如下: Intent intent = new Intent();                 intent.setAc