Android 应用启动欢迎界面广告的实现实例

 更新时间:2017年05月25日 11:39:23   作者:huplion  
这篇文章主要介绍了Android 应用启动欢迎界面广告的相关资料,需要的朋友可以参考下

Android 应用启动欢迎界面广告

0.写在前面

在这篇教程中来实现一个类似于微信的的延迟3秒再进入主界面的效果。

1.项目准备

先新建一个空的android项目。里面只自带一个MainActivity,首先我们再新建一个Activity叫做WelcomeActivity继承自Activity。

Activity代码如下:

//package在此省略,根据实际自行添加

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;

/**
 * Created by HUPENG on 2016/9/21.
 */
public class WelcomeActivity extends Activity {
  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_welcome);
  }
}

布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="match_parent"
       android:layout_height="match_parent">

  <ImageView
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:id="@+id/imageView"
      android:layout_gravity="center_horizontal"
      android:src="@mipmap/welcome"/>
      <!--android src属性指定imageView里面要显示的资源文件的来源路径,也就是在欢迎界面显示的图片,在这里我已经预先上传了一张图片了-->
</LinearLayout>

修改清单文件AndroidManifest.xml

声明WelcomeActivity以及修改Activity的启动顺序,由MainActivity改成WelcomeActivity

原来的xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="supershare.android.hupeng.me.supershare">

  <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>

  </application>

</manifest>

修改成

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="supershare.android.hupeng.me.supershare">

  <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
    <activity android:name=".WelcomeActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <activity android:name=".MainActivity">

    </activity>

  </application>

</manifest>

至此项目的布局已经完成了,现在来完成跳转部分源码

在这里用到的核心函数为

Handler.sendEmptyMessageDelayed

主要用来发送延迟消息

首先新建一个消息处理对象,负责发送与处理消息

 private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      super.handleMessage(msg);
    }
  };

在handleMessage方法中处理消息,在这里接收到消息不做复杂处理以后直接执行跳转操作

贴上WelcomeActivity全部代码

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.view.Window;
import android.view.WindowManager;

/**
 * Created by HUPENG on 2016/9/21.
 */
public class WelcomeActivity extends Activity {
  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //隐藏标题栏以及状态栏
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
    /**标题是属于View的,所以窗口所有的修饰部分被隐藏后标题依然有效,需要去掉标题**/
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_welcome);
    handler.sendEmptyMessageDelayed(0,3000);
  }

  private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      getHome();
      super.handleMessage(msg);
    }
  };

  public void getHome(){
    Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);
    startActivity(intent);
    finish();
  }
}

2.总结

在这里主要利用了android.os.Handler的消息的延迟发送以及处理。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android应用接入微信分享的实例代码

    Android应用接入微信分享的实例代码

    本篇文章主要介绍了Android应用接入微信分享的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-07-07
  • android intent使用定义标题

    android intent使用定义标题

    本文将详细介绍android怎样自定义Intent选择界面的标题,提供相关参考方法
    2012-11-11
  • Android自定义控件实现带数值和动画的圆形进度条

    Android自定义控件实现带数值和动画的圆形进度条

    这篇文章主要为大家详细介绍了Android自定义控件实现带数值和动画的圆形进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • Android仿QQ微信实时监测网络状态

    Android仿QQ微信实时监测网络状态

    这篇文章主要为大家详细介绍了Android仿QQ微信实时监测网络状态,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android如何绘制发光效果详解

    Android如何绘制发光效果详解

    这篇文章主要给大家介绍了关于Android如何绘制发光效果的相关资料,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • Kotlin 协程 supervisorScope {} 运行崩溃解决方法

    Kotlin 协程 supervisorScope {} 运行崩溃解决方法

    看过很多 supervisorScope {} 文档的使用,我照抄一摸一样的代码,运行就崩溃,最后找到了解决方法,应该是kotlin版本更新做过改动,当前我使用的是 androidx.core:core-ktx:1.9.0,本文给大家介绍Kotlin 协程 supervisorScope {} 运行崩溃解决方法,感兴趣的朋友一起看看吧
    2024-01-01
  • Android SharedPreferences实现数据存储功能

    Android SharedPreferences实现数据存储功能

    这篇文章主要为大家详细介绍了Android SharedPreferences实现数据存储功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android实现背景图片轮播

    Android实现背景图片轮播

    这篇文章主要为大家详细介绍了Android实现背景图片轮播,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法示例【附源码下载】

    Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法示例【附源码下载】

    这篇文章主要介绍了Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法,简单描述了自动完成文本框的功能并结合实例形式分析了Android实现自动完成文本框功能的具体步骤与相关操作技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2018-01-01
  • Android实现底部导航栏效果

    Android实现底部导航栏效果

    这篇文章主要为大家详细介绍了Android实现底部导航栏效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论